このノードコードスニペットは、ノードプラットフォームのバージョンに基づいて異なる値を返します。 Ubuntu 14.04を実行するEC2には、2つの同一インスタンス(ノードバージョンを除く)があります。ノードv0.8.28でNode.js暗号化PBKDF2関数はv8とv10の値が異なる戻り値
"use strict";
var crypto = require("crypto");
crypto.pbkdf2("password", "salt", 1000, 32, function(err, derivedKey) {
if (err) {
console.error(err);
} else {
console.log(new Buffer(derivedKey).toString('base64'));
}
});
コンソール値:
bsKIwr7Ci8KtfsKuwp3CnhDCqgYSJANPw61Iw5A/w4vCrcKWwotWAGfChFPCnVIU
ノードv0.10.5の値がある:
BOI + I61 + rp2eEKoGEiQDT + 1I0D/LrZaLVgBnhFOdUhQ =
Thアプリケーション上のノードバージョンをアップグレードしており、パスワードを正しく復号化できないため、大きな問題です。
ありがとうございます!