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)