You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.8 KiB
74 lines
2.8 KiB
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1" >
|
|
<title></title>
|
|
<script src="../lib/ase/core.min.js"></script>
|
|
<script src="../lib/ase/enc-base64.min.js"></script>
|
|
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/md5.min.js"></script> -->
|
|
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/evpkdf.min.js"></script> -->
|
|
<script src="../lib/ase/cipher-core.min.js"></script>
|
|
<script src="../lib/ase/aes.min.js"></script>
|
|
<!-- <script src="../lib/ase/pad-pkcs7.min.js"></script> -->
|
|
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/mode-ecb.min.js"></script> -->
|
|
<!-- <script src="../lib/ase/enc-utf8.min.js"></script> -->
|
|
<!-- <script src="../lib/ase/enc-hex.min.js"></script> -->
|
|
<script>
|
|
/**
|
|
* @description 解密方法
|
|
* @param {String} word 解密数据
|
|
* @returns 数据
|
|
*/
|
|
function decrypt(word, key, vi) {
|
|
/** 十六位十六进制数作为密钥 《静夜思》 */
|
|
var key = CryptoJS.enc.Utf8.parse("cqmygysdssjtwmyd")
|
|
/** 十六位十六进制数作为密钥偏移量 《赋得古原草送别》 */
|
|
var iv = CryptoJS.enc.Utf8.parse('llyscysykryhsbjc')
|
|
let backStr
|
|
try {
|
|
let encryptedHexStr = CryptoJS.enc.Hex.parse(word)
|
|
let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr)
|
|
let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 })
|
|
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8)
|
|
backStr = decryptedStr.toString()
|
|
}
|
|
catch (error) {
|
|
console.error(error)
|
|
}
|
|
return backStr
|
|
}
|
|
|
|
/**
|
|
* @description 加密方法
|
|
* @param {String} word 需加密数据
|
|
* @returns 数据
|
|
*/
|
|
function encrypt(word) {
|
|
/** 十六位十六进制数作为密钥 《静夜思》 */
|
|
var key = CryptoJS.enc.Utf8.parse("cqmygysdssjtwmyd")
|
|
/** 十六位十六进制数作为密钥偏移量 《赋得古原草送别》 */
|
|
var iv = CryptoJS.enc.Utf8.parse('llyscysykryhsbjc')
|
|
let backStr
|
|
try {
|
|
let srcs = CryptoJS.enc.Utf8.parse(word)
|
|
let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 })
|
|
backStr = encrypted.ciphertext.toString().toUpperCase()
|
|
} catch (e) {
|
|
console.error(e)
|
|
}
|
|
return backStr
|
|
}
|
|
|
|
console.log(decrypt('59321F1175CAC4B394F5B15E1F26AD8B'))
|
|
</script>
|
|
|
|
|
|
</head>
|
|
|
|
<body>
|
|
</body>
|
|
|
|
</html>
|
|
|