1
我想學習的JavaScript和我正在學習一個教程,我想我輸入正確的一切,但由於某種原因我使用cypto-js庫加密的字符串不能未加密正確。我沒有收到錯誤,但未加密的字符串不正確。我使用的是Macintosh和「crypto-js」:「^ 3.1.5」。JavaScript的加密庫不能加密和解密一個簡單的例子程序中的字符串
這是我的示例代碼。
var crypto = require('crypto-js');
var secretMessage = 'I hid the chips under the couch.';
var secretKey = '123abc';
var encryptedMessage = crypto.AES.encrypt(secretMessage, secretKey);
console.log('encryptedMessage: ' + encryptedMessage);
var bytes = crypto.AES.decrypt(encryptedMessage, secretKey);
var decryptedMessage = bytes.toString(crypto.enc.utf8);
console.log('decrpt2: ' + decryptedMessage);
這裏是我得到
$ node example-encryption.js
encryptedMessage: U2FsdGVkX180KTEpMiLEjZDSAkhNkmbBuRa9RXFwCgx6gA/PUFr+KOIv6Gr6TgIYrkfUu3F+OM/kRJ3sTTgsfg==
decrpt2: 49206869642074686520636869707320756e6465722074686520636f7563682e
能有人幫的結果?
感謝, 格雷格
呃,它是'crypto.enc.Utf8'而不是'crypto.enc.utf8'。你傳遞的是未定義的,這會導致默認編碼,即Hex。 –
我很好奇,爲什麼不使用內置的'crypto'模塊? – mscdex
一個字母變化產生了差異。謝謝。 –