我正在开发一个调用 Java Rest API 的 PHP 应用程序。 有效负载必须使用 CryptoJS 进行加密和解密,如下所示:
function encrypt(data, keyString) {
var IV = CryptoJS.lib.WordArray.random(16);
// finds the SHA-256 hash for the keyString
var Key = CryptoJS.SHA256(keyString);
var val = CryptoJS.enc.Utf8.parse(JSON.stringify(data));
var encrypted = CryptoJS.AES.encrypt(val, Key, { iv: IV }).toString();
var b64 = CryptoJS.enc.Base64.parse(encrypted).toString(CryptoJS.enc.Hex);
return {
"encrypted": b64,
"IV": IV.toString()
};
}
function decrypt(data , IV, keyString) {
var IV = CryptoJS.enc.Hex.parse(IV);
// finds the SHA-256 hash for the keyString
var Key = CryptoJS.SHA256(keyString);
data = CryptoJS.enc.Hex.parse(data).toString(CryptoJS.enc.Base64);
var cipherParams = CryptoJS.lib.CipherParams.create({
ciphertext: CryptoJS.enc.Base64.parse(data)
});
var decryptedFromText = CryptoJS.AES.decrypt(cipherParams, Key, { iv: IV });
return decryptedFromText.toString(CryptoJS.enc.Utf8);
}
问题是我需要它们作为 PHP 而不是 JS。 谁能帮我用 PHP 重写这些函数? 有一个用 PHP 编写的库,但是,这不是我需要的。