バックエンドを php からノードに移行する必要があります。パスワードのハッシュには、php crypt (デフォルトのランダムソルトを使用) を使用しました。たとえば、パスワード「d1692fab28b8a56527ae329b3d121c52」の場合、ベースに次の暗号化された pw があります ($i$ が指定するように、md5 または sha512 のどちらを使用したかによって異なります) :
$1$7JxJYjJK$oFtCGyVvflspPtxB7YrWP.
$6$CVx6KL5l$wzk3YXlqUaz42Kb9r2lmEJhx/FBUXPRoLWN.20/XMBbgQrhp3vSHkEDF3bJEtpM3M96VZ.AMKatLGSKYZZKNH/
そしてphpでは、 crypt でそれらを確認できます:
echo crypt('d1692fab28b8a56527ae329b3d121c52', '$1$7JxJYjJK$oFtCGyVvflspPtxB7YrWP.');
echo "\n";
echo crypt('d1692fab28b8a56527ae329b3d121c52', '$6$CVx6KL5l$wzk3YXlqUaz42Kb9r2lmEJhx/FBUXPRoLWN.20/XMBbgQrhp3vSHkEDF3bJEtpM3M96VZ.AMKatLGSKYZZKNH/');
echo "\n";
正しい暗号化された pw を返します。
どのノード関数でもそのような結果を得ることができませんでした。私は次のようなものを試しました:
require("crypto").createHmac("md5", "7JxJYjJK").update("d1692fab28b8a56527ae329b3d121c52").digest("base64");
他にもたくさんありますが、成功していません。誰かがこれを行うのを手伝ってもらえますか? MD5 バージョン ($1$) がどうしても必要です。sha512 はいくらかいいでしょう (恐ろしいことはわかっていますが、prod サーバーで使用されたのは md5 バージョンであり、テスト サーバーで使用されたのは sha512 です...)。