0

iveはsha512クラスをテストしています。flash cs5内の文字列からハッシュを生成する必要がありますが、asp.net(vb)によって生成されたハッシュと一致する必要があります。文字列のどこかにゼロが追加されているようですが、その理由はわかりません。

これらは、imが使用しているファイルです。SHA512Javascript実装のActionscriptへの移植。

この例では、ハッシュされた文字列は「Karla」という名前です。

例(asp.net)//**括弧は違いがどこにあるかを示します**C4DB628AD520AFF7308ED19E91635E8E24A6C7CFD4DB2F71BBE2FA6CD63770B315A839143037BB9DB16784C0BDCEB622ECAA4077D4D8(1787)D5023E86734748

(as3)

C4DB628AD520AFF7308ED19E91635E8E24A6C7CFD4DB2F71BBE2FA6CD63770B315A839143037BB9DB16784C0BDCEB622ECAA4077D4D8(17087)D5023E86734748

以下に、私が提供したリンクに追加情報がありますが、それが必要なものに関連しているとは思いません。hmacを使用しているとは思いません。単純な文字列ハッシュですが、vb.netで実行するとバイトが取得されます。最初の文字列から、iにはバイトがあります。

as3コードがsha512クラスで文字列を自動的に変換したような気がしましたか?

誰かがこの問題にも遭遇したことを願っています。

これについて助けてくれてありがとう。

4

1 に答える 1

1

これらのハッシュはどちらも正しくありません。文字列「Karla」の正しい SHA512 ハッシュは次のとおりです。

C4DB628AD520AFF7308ED19E91635E8E24A6C7CFD4DB2F71BBE2FA6CD63770B315A839143037BB9DB16784C0BDCEB622ECAA4077D4D817087D5023E867347408

ただし、AS3 ハッシュが実際には正しいことに賭けたいと思います。JavaScript バージョンは正しいハッシュを生成します。ここを参照してください。間違って貼り付けられただけです。

計算されたハッシュの 2 か所に byte が含まれています0x08が、ASP.NET バージョンではバイトの上位 4 ビットが失われ、not として出力文字列に追加されて"8""08"ます。

0x10基本的に、ASP.NET ハッシュ ジェネレーターは、先頭のゼロを無視して以下の数値を破棄し、不正な形式のハッシュを生成します。

ASP.NET ハッシュに問題があることを示すもう 1 つの方法は、その長さがわずか 126 文字 (16 進数でエンコードされた 504 ビット) であることです。

于 2013-02-28T21:31:43.257 に答える