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.
44 lines
2.1 KiB
44 lines
2.1 KiB
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Document</title>
|
|
<script src ="https://cdn.bootcdn.net/ajax/libs/crypto-js/4.0.0/crypto-js.js"></script>
|
|
<script>
|
|
// const CryptoJS = require('./node_modules/crypto-js'); //引用AES源码js
|
|
|
|
const key = CryptoJS.enc.Utf8.parse("a102030405060708"); //十六位十六进制数作为密钥
|
|
const iv = CryptoJS.enc.Utf8.parse('a1b2c3d4e5f6g7h8'); //十六位十六进制数作为密钥偏移量
|
|
|
|
//解密方法
|
|
function Decrypt(word) {
|
|
const restoreBase64 = word.replace(/\-/g,'+').replace(/_/g,'/');
|
|
let decrypt = CryptoJS.AES.decrypt(restoreBase64, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding });
|
|
return CryptoJS.enc.Utf8.stringify(decrypt);
|
|
}
|
|
|
|
//加密方法
|
|
function Encrypt(word) {
|
|
let encrypted = CryptoJS.AES.encrypt(word, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding });
|
|
const test = encrypted.ciphertext.toString(CryptoJS.enc.Base64);
|
|
return test.toString(CryptoJS.enc.Utf8);
|
|
}
|
|
|
|
function init(){
|
|
const str='{"server": "mail.intra.nsfocus.com"}';
|
|
const res = Encrypt(str);
|
|
console.log(res);
|
|
console.log(Decrypt('UjQ8vsWGWdJqvGRDCU0DiBqMXOOi9m3BDijNeVFB2+gbyrQVIzsNUTvtW2l20xMEcPzd6RRbZDfelONZiLOrswlqY/JbMSNpRzKFp+8OFp6EcfM948EFRyOjt5UgnbTHVn2Q4FlXDAtKjoJVsn8ZJ+bsQ4Tut2QUuFn5/RZoNuo/8VKuMY5YKgE+fUW003cMAcqSauHXoi5cLOfRlQP4dFIfKpD72mH3HArHsq3Zm3Df4uD00VfTK9lDkoQkuBkMobImm04ggOFmwB3Tb6UtkERZCnJ4UIz+vMBQcHxQZ5oxBvY4DKOqjvUSuRuwkhwU'));
|
|
console.log(Decrypt('1fOSbzrfqkgsCsxtMzCBGg=='));
|
|
console.log(Decrypt('9uUsqL/bgBitN3Lvnfav5IUKcdDW0o+ooHR5uKMhWsZulRTdbgYSwY22jpkg6YPMnUBPTYCcdodvVT+2qneVigx/+bBPg2lOuDsJXJzvSJpPwGJPiLG9M4fCzjqqvyhs'));
|
|
console.log(Decrypt('hnV6BIeQnHfKD+HIGJISesG5GHmFuigENFOSxdorHiwVT5N4dWeW5YhyVFbe7Ne3aU+BdSHzGnMdr7BnMV+0D/6vNp+hZsDK0IUxgsJno9lT5QQyvfsHqc3r+UP62jmm'));
|
|
}
|
|
|
|
init();
|
|
</script>
|
|
</head>
|
|
<body>
|
|
|
|
</body>
|
|
</html> |