単語を暗号化または復号化する機能を記述しました。 解読されたキーが暗号化されたキーと同じではないのはなぜですか?解読されたキーが暗号化されたキーと同じでないのはなぜですか?
function cryptage(action, password) {
var method = "AES-256-CBC";
if (action == "encrypt") {
var cipher = crypto.createCipher(method, password)
var crypted = cipher.update(password, 'utf8', 'hex')
crypted += cipher.final('hex');
return crypted;
} else if (action == "decrypt") {
var decipher = crypto.createDecipher(method, password)
decipher.setAutoPadding(false);
var decrypted = decipher.update(password, 'hex', 'utf8')
decrypted += decipher.final('utf8');
return decrypted;
}
}
私はvar crypted = cryptage("encrypt", "test")
を呼び出し、それを返し
cc1fbd73cb93106c3358636ff619bdbd
私はcryptage("decrypt", crypted)
を呼び出すと、それは正確に
テ〜IӠ〜{}を返しますm
テキストはありませんが、なぜですか?
私はあなたのコードをすべて見直しませんでしたが、関数の2番目のパラメータが 'password'で、別の値を指定すると動作しません。 – pedrofb
何かを"暗号化 "するには、* secret *と平文。あなたのアルゴリズムはただ一つの値を受け入れます。それは*暗号化できません*最高でも*エンコーディング*です。 – deceze
戻り値があるため、値は1つのみです。 –