0
爲什麼CryptoJS的輸出不同於PHP中的openssl_encrypt(如果我使用的是同一個鍵和ivector)?CryptoJS不正確的AES編碼
openssl_encrypt('test' , 'aes-256-cbc', '17cc0ffd728f34c171e06c47df4227a32ee6ef5d6c60398eeab30cf34306c644', 0 , base64_decode('aROnq5DocMLgrlpAF6yjgw=='));
輸出:
oIcizpTDCTgtTGu3lO1cJg==
每次相同的輸出。
CryptoJS:
var encrypted = CryptoJS.AES.encrypt("test", CryptoJS.enc.Hex.parse('UDOuDk5uxceoFWxtrabuEhamMC1T4Abr'), {
iv: CryptoJS.enc.Hex.parse('HLcM0VZYfsgPo2ye')}).toString();
輸出:
VTJGc2RHVmtYMTlrVHh4N0F3V2VySWlFcjBGeWlRRkcyMmNabEtjWmpmYz0=
爲什麼從CryptoJS輸出每次都不同?
編輯:
您的提示後:
var encrypted = CryptoJS.AES.encrypt("test", CryptoJS.enc.Hex.parse('UDOuDk5uxceoFWxtrabuEhamMC1T4Abr'), {
iv: CryptoJS.enc.Hex.parse('HLcM0VZYfsgPo2ye')}).toString();
輸出:
CoFpbmd4YzOiVEFzVkeaDQ==
現在每次都是相同的
但比PHP不同:
openssl_encrypt("test" , "aes-256-cbc", "UDOuDk5uxceoFWxtrabuEhamMC1T4Abr", 0 , "HLcM0VZYfsgPo2ye");
輸出:
oV9OZVYM80p8mlHH5wnzEg==