brix / crypto-js

JavaScript library of crypto standards.
Other
15.71k stars 2.38k forks source link

I use ajax to get code and use decrypt to decrypt ,every time decrypt was different #103

Open willyang90 opened 7 years ago

willyang90 commented 7 years ago

I use ajax to get code and use decrypt to decrypt ,every time decrypt was different,I don‘t konw why.

function Encrypt(word) { srcs = CryptoJS.enc.Utf8.parse(word); var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); var encryptedStr = encrypted.ciphertext.toString(); var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedStr); var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr); return encryptedBase64Str; }

function Decrypt(word) { console.log(word); var srcs2 = JSON.stringify(word).replace(/"/g, '') var decrypt = CryptoJS.AES.decrypt(srcs2, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); return decryptedStr.toString();

willyang90 commented 7 years ago

solved it thankyou

Gruppio commented 6 years ago

Hi, How did you solved it?

willyang90 commented 6 years ago

json auto linefeed

Gruppio commented 6 years ago

We are trying to use this lib without success, can you please send us the full piece of code? Many Thanks!!

willyang90 commented 6 years ago

var key = CryptoJS.enc.Utf8.parse("yourkey"); var iv = CryptoJS.enc.Utf8.parse('youriv');

function Encrypt(word) { srcs = CryptoJS.enc.Utf8.parse(word); var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); var encryptedStr = encrypted.ciphertext.toString(); var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedStr); var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr); return encryptedBase64Str; }

function Decrypt(word) { var encryptedHexStr = CryptoJS.enc.Hex.parse(word); var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); var srcs2 = JSON.stringify(word).replace(/"/g, '') var decrypt = CryptoJS.AES.decrypt(word, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); return CryptoJS.enc.Utf8.stringify(decrypt); }

Gruppio commented 6 years ago

Thanks!! 👍