私はCryptoJSを使用してWebサーバー(PHPとAES-128-ECBを使用)から暗号化を解読しましたが、正しいwordArrayを取得できません。長さが長すぎます。CryptoJS.AES.decrypt()の出力に0x8080808が埋め込まれたwordArray
var pwd = "abcdefghijklmnop";
var words = [0x86C5464, 0x7335231];
var plain_array= CryptoJS.lib.WordArray.create(words);
var base64_pwd = CryptoJS.enc.Utf8.parse(pwd).toString(CryptoJS.enc.Base64);
var pwd_key = CryptoJS.enc.Base64.parse(base64_pwd);
var encryption = AES.encrypt(plain_array,pwd_key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}).toString();
var decrypt = AES.decrypt(encryption,pwd_key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
そしてを復号化は、次のとおりです:ここに私のテストコードがある
decrypt == {
sigBytes : 8,
words : [0x86C5464, 0x7335231, 0x8080808, 0x8080808]
}
decrypt.wordsが0x8080808で埋められたのはなぜ?正しい長さのwordArrayを取得するにはどうすればよいですか?
ありがとうございます。
ありがとうございます!私はもうECBを使用しません。 – Kinch