JSFiddle - React, Tailwind, and code Playground
by zhaopp
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<title>Parcel Sandbox</title>
<meta charset="UTF-8" />
</head>
<body>
<div id="app"></div>
<script src="src/index.js"></script>
</body>
</html>
JavaScript
const original = "Message"
const key = "Secret Passphrase"
let jiami = (str, key) => {
key = CryptoJS.MD5(key + 'yan').toString();
key = CryptoJS.enc.Utf8.parse(key)
let srcs = CryptoJS.enc.Utf8.parse(JSON.stringify(str))
let encrypted = CryptoJS.AES.encrypt(srcs, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
})
return encrypted.ciphertext.toString();
}
let jiemi = (str, key) => {
key = CryptoJS.MD5(key + 'yan').toString();
key = CryptoJS.enc.Utf8.parse(key)
var encryptedHexStr = CryptoJS.enc.Hex.parse(str);
var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
var decrypt = CryptoJS.AES.decrypt(srcs, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
})
return decrypt.toString(CryptoJS.enc.Utf8).toString().replace(/\"/g, "");
}
let e = jiami(original, key)
console.log("加密",e)
let d = jiemi(e, key)
console.log("解密",d)