2

quercus (Java での PHP エミュレーション) で hash_hmac を使用しようとしていますが、残念ながら実装されていません!

Fatal Error: hash_init: 'HmacSHA-256' is an unknown algorithm [hash_hmac] 

2 つのオプションがあります。

1) hash_hmac を置き換えるカスタム php 関数を作成します。ここで見つけましたが、sha 256 とは互換性がありません:

http://www.php.net/manual/en/function.hash-hmac.php#93440

他のカスタム実装を知っていますか?

2) Java に文字列をデコードさせ、それを php に渡します。それは実行可能です:

http://php-apps.appspot.com/hmac-sha-256-signature-for-amazon-product-api-requests.html

しかし、私がphpクラスを扱っているのは初めてで、デバッガーはリンクで指定されたこのphpコードを受け入れません:

<?php

import phpgae.HmacSHA256;

$c = new HmacSHA256;

echo $c->compute( 'your base string' ,  'your key' );

?>

どのように実装すればよいですか?

4

1 に答える 1

0

これに対する解決策を見つけるために、私は自分で何時間も探していました。

バグとして報告され、バージョン 4.0.29 で修正されたことが判明しました。

http://bugs.caucho.com/bug_view_advanced_pa​​ge.php?bug_id=4833#bugnotesを参照してください。

新しいバージョンにアップグレードすると、これが修正されます。

于 2013-04-06T22:00:35.930 に答える