これは奇妙な質問ですが、私はこれに何時間も取り組んでおり、あまり進歩していません。ここの誰かがアドバイスできるかもしれないことを願っています...
スクリプトをphpからノードに移植しています。phpスクリプトはこの関数を利用します:
hash_hmac('sha512', $text, $key);
私は暗号モジュールを使用してノードでこれを再現しました:
var hash = crypto.createHmac( "sha512", key );
hash.update( text );
return hash.digest( "hex" );
同じテキストとキーを指定すると、これらの関数が同じハッシュを生成することを確認しました。
それ外...
phpのキーに使用されている文字列は次のようになります:(聞かないでください)
define("SITE_KEY", "
__
, ,' e`---o
(( ( | ___,'
\\~-------------------------------' \_;/
( /
/) ._______________________________. )
(( ( (( (
``-' ``-'
");
私はこれを次のようにJavascriptで再現しようとしました:
var key = "\
__\
, ,' e`---o\
(( ( | ___,'\
\\\\~-------------------------------' \\_;/\
( /\
/) ._______________________________. )\
(( ( (( ( \
``-' ``-'\
\
";
しかし、それは機能しません。(私はそれが改行と関係があると思います)。
次のように改行を「\r\n」または「\n」に置き換えても機能しません。
var key = "\r\n __\r\n , ,' e`---o\r\n (( ( | ___,'\r\n \\\\~-------------------------------' \\_;/\r\n ( /\r\n /) ._______________________________. )\r\n (( ( (( ( \r\n ``-' ``-'\r\n\r\n";
これを修正する方法についての提案はありますか?(残念ながら、犬を追い払うことはできません。)
(事前に)あなたの助けに感謝します。