javasriptとPHPの両方でHMACを使用し、両方の関数のパラメーターを変数として使用して両方のporgamを実行すると、HMACの2つの異なる値を取得します。ただし、それらを文字列リテラルとして実行すると、すべてが正常に機能します。文字列変数が各言語でどのようにエンコードされているかと関係があると思いますが、修正方法がわかりません。私が使用しているコードは以下のとおりです。
以下のphp関数で$pwd1
は、コマンドラインから取得されます。
$k = hash_hmac('sha1', $pwd1, $salt);
以下のjavascript関数では、ステートメントpassword
から取得されます。json.parse(msg)
次に、次のHMACメソッドを使用します。
<script type="text/javascript" src="http://crypto-js.googlecode.com/files/2.5.3-crypto-sha1-hmac.js"></script>
それはのように見えますCrypto.HMAC(Crypto.SHA1,password,salt);
。
ありがとう。