- - PR -
DESCryptoServiceProviderについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-08-04 13:10
C#で開発をしていますが。
DESCryptoServiceProviderプロバイダを用いて 16進数で8byte又は16byteのランダムな鍵値を取得する方法を教えてください。 下記では16byteの鍵値を取得できませんでした。 ご教授お願いします。 DESCryptoServiceProvider des = new DESCryptoServiceProvider(); des.FeedbackSize = 16; des.GenerateKey(); byte[] b = des.Key; | ||||
|
投稿日時: 2005-08-04 13:43
そもそもDESの鍵長は64ビットですから128ビットの鍵値はDESを使う限り作れないと思いますが。
TripleDESCryptoServiceProviderなどを使えば可能ですけど。 それに鍵長を指定するのはFeedbackSizeではなくてKeySizeではないですか? いずれにせよビット単位で指定しろとMSDNに書かれています。 | ||||
|
投稿日時: 2005-08-04 13:46
ビット単に指定するとはどう記述すればよいのでしょうか? | ||||
|
投稿日時: 2005-08-04 17:54
下記の様に対処しました。
// 3DESアルゴリズムの暗号サービスプロバイダ TripleDESCryptoServiceProvider desTrippleProvider = new TripleDESCryptoServiceProvider(); // 鍵サイズ(16byte)(ビット単位で指定:Min128,Max192) desTrippleProvider.KeySize =128; // ランダムに鍵値を生成 desTrippleProvider.GenerateKey(); // byte配列から16進文字列へ変換 HexString = BitConverter.ToString(desTrippleProvider.Key).ToString(); |
1