ฉันกำลังพยายามถอดรหัสเพย์โหลดที่เข้ารหัสที่มีอยู่ในบุรุษไปรษณีย์ การเข้ารหัสเกิดขึ้นใน nodejs ดังที่แสดงด้านล่าง ฉันไม่สามารถแก้ไขการเข้ารหัสได้ โปรดทราบว่าเพย์โหลดเป็นวัตถุ json ที่เข้ารหัส base64 ด้วย:
import crypto from 'crypto'
export const encrypt = (text: any, key: string, iv: any) => {
const cipher = crypto.createCipheriv('aes-256-cbc', Buffer.from(key), iv)
let encrypted = cipher.update(text)
encrypted = Buffer.concat([encrypted, cipher.final()])
return { iv: iv.toString('hex'), encryptedData: encrypted.toString('hex') }
}
ฉันกำลังพยายามถอดรหัสแล้วถอดรหัสในบุรุษไปรษณีย์โดยใช้ crypto-js นี่คือโค้ดจำลองเพื่อทำสิ่งนั้น:
var crypto = require("crypto-js");
var payload = 'eyJpdiI6ImFhMzAxYmQwYjE0ODNiZTQ3ZGIzNGZkYWMzYzZjZGNmIiwiZW5jcnlwdGVkRGF0YSI6IjYzNDUwYjdmNTBmM2I3Y2MyN2UwYmQ5MjlmMjRkNTZmZTFkY2Y4M2I3YjM3MjYxZDE4ZmJkMTc2YWUzZjU2ZTZiYmE3ZjcxNmQ0MWFlNGIxYWEwMTY3NjI4OTEyNjAwYjYwMzc5MmJhNmI4MWRjZTk4ZTQ2NDkxYjNjOGNhYmU5NDVjOWQ1ZDM4MzUzNGY5NWIwNDljYTM1Y2VlZjA2YTMyOTRkNzY2YjVjZDE3MTlmYjAxMTgzZjkyNWNhODFiM2UwOTM2NTUyNzVjYWU2M2JlMTE0Y2JjYTU0NmNiMjc2ODY0N2ZkYzc2YjRkYzJiMDk3ZjExMDQzNDI2OGE1ZGY3ZDVkZjYwYTVkZjZlMzg0NWIyMzYzNWIxNTVhYTRiZjU5MzU0OTFkYjY3ZWZjYjZhMjM4YTVkNDg5YzAxMDExMGU1NGE5ODc0MDE1MjQxZjJmZmY4ZDNhNmM1OWI5MjhhMzFlYWI4ZjA3M2ZlZGFlMjIxZWVjNWY4ZWM5MDRmMyJ9'
var decodedPayload = Buffer.from(payload, 'base64').toString('utf8');
console.log('decoded: ', decodedPayload);
var parsedPayload = JSON.parse(decodedPayload);
var iv = parsedPayload.iv;
var crypttext = parsedPayload.encryptedData;
console.log('iv: ', iv);
console.log('crypttext: ', crypttext);
var key = 'fpK92jhnf914Kahqkecnml96l4apmgOf';
var plaintextArray = CryptoJS.AES.decrypt(
{
ciphertext: CryptoJS.enc.Hex.parse(crypttext),
salt: ''
},
Buffer.from(key),
{ iv: CryptoJS.enc.Hex.parse(iv), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.NoPadding }
)
console.log('plaintextArray: ', plaintextArray);
console.log('res: ', CryptoJS.enc.Hex.stringify(plaintextArray));
ฉันได้รับอาร์เรย์ไบต์กลับมา แต่ไม่ใช่ค่าที่คาดหวังในรูปแบบข้อความธรรมดา มันควรจะเป็นวัตถุ json ฉันขาดการแปลการเข้ารหัสไปที่ไหนสักแห่งใช่ไหม ความช่วยเหลือใด ๆ ที่ชื่นชม