- PR -

DESCryptoServiceProviderについて

1
投稿者投稿内容
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2005-08-04 13:10
C#で開発をしていますが。
DESCryptoServiceProviderプロバイダを用いて
16進数で8byte又は16byteのランダムな鍵値を取得する方法を教えてください。
下記では16byteの鍵値を取得できませんでした。
ご教授お願いします。

DESCryptoServiceProvider des = new DESCryptoServiceProvider();
des.FeedbackSize = 16;
des.GenerateKey();
byte[] b = des.Key;


Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-08-04 13:43
そもそもDESの鍵長は64ビットですから128ビットの鍵値はDESを使う限り作れないと思いますが。
TripleDESCryptoServiceProviderなどを使えば可能ですけど。
それに鍵長を指定するのはFeedbackSizeではなくてKeySizeではないですか? いずれにせよビット単位で指定しろとMSDNに書かれています。
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2005-08-04 13:46
引用:

それに鍵長を指定するのはFeedbackSizeではなくてKeySizeではないですか? いずれにせよビット単位で指定しろとMSDNに書かれています。



ビット単に指定するとはどう記述すればよいのでしょうか?
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)