- - PR -
SHA1のアルゴリズム
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-11-01 17:50
お世話になります。
SHA1の変換でつまってしまいました。 .Netライブラリ(Ver2.0)を使用した変換とマイクロソフト提供の"capicom.dll"(Ver2.1.0.2)を VBScriptで使用した変換で結果が異なり困っています。 [.Net] string password = FormsAuthentication.HashPasswordForStoringInConfigFile("12345","SHA1"); 結果:8CB2237D0679CA88DB6464EAC60DA96345513964 [VBScript] Set objHashedData = CreateObject("CAPICOM.HashedData") objHashedData.Algorithm = 0 'SHA1 objHashedData.Hash "12345" objHashedData.Value '結果 結果:2F2416BA3BCF5DB18362CAD20CA90089515ABE0F SHA1という同じアルゴリズムを使用しているのに結果が異なるのはなぜでしょう? [.Net]と[VBScript]でそれぞれ変換した値を照合したいのですができなくて困っています。 知ってる方いましたら教えて頂けませんか? |
|
投稿日時: 2007-11-01 18:21
移動中なので、確認して欲しいことだけ
文字コードは一致していますか? |
|
投稿日時: 2007-11-01 18:38
HashPasswordForStoringInConfigFile() の方は、US-ASCII で5バイトの "12345" の SHA-1 になってます。CAPICOM の方は、"12345" をリトルエンディアンの UTF-16 でエンコードした10バイトを SHA-1 したものになってますね。
|
|
投稿日時: 2007-11-01 18:47
Jitta様、スフレ様、
さっそくの返答ありがとうございます。 文字コードに問題がありそうですね。 文字コード一致させてから再チャレンジしたいと思います。 文字コードを一致させるのって・・・・ 調べます! |
|
投稿日時: 2007-11-01 21:43
System.Security.Cryptography.SHA1CryptoServiceProvider を使って文字コードを一致させるとばっちり照合できました。 ありがとうございました。 |
1