JavaScriptとPHPの両方でHMACを使用し、両方の関数のパラメータを変数として両方のporgamsを実行すると、HMACの2つの異なる値を取得します。しかし、文字列リテラルとしてそれらを実行すると、すべて正常に動作します。私は文字列変数がどのように各言語でエンコードされているかと関係があると思いますが、それを修正する方法はわかりません。私が使用しているコードは以下の通りです。JavascriptとPHPとのハッシュ値が異なる
以下のphp関数では、$pwd1
がコマンドラインから取得されます。 javascript関数以下で
$k = hash_hmac('sha1', $pwd1, $salt);
password
が
json.parse(msg)
の文から得ています。それから私は、
Crypto.HMAC(Crypto.SHA1,password,salt);
のように見えます
<script type="text/javascript" src="http://crypto-js.googlecode.com/files/2.5.3-crypto-sha1-hmac.js"></script>
から次のHMAC方式を使用します。
ありがとうございました。
'json.parse(msg)'の出力をコンソールに記録しようとしましたか? (そして、あなたがブラウザにいるなら、これは 'JSON.parse(msg)'ではないでしょうか?) – nrabinowitz