1、base64加密:在页面中引入base64.js文件,调用方法为:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>base64加密</title>
<script type="text/javascript" src="base64.js"></script>
<script type="text/javascript">
var b = new Base64();
var str = b.encode("admin:admin");
alert("base64 encode:" + str);
//解密
str = b.decode(str);
console.log("base64 decode:" + str);
</script>
</head>
<body>
</body>
</html>
2、md5加密 :在页面中引用md5.js文件,调用方法为
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>md5加密</title>
<script type="text/ecmascript" src="md5.js"></script>
<script type="text/javascript">
var hash = hex_md5("123dafd");
console.log(hash)
</script>
</head>
<body>
</body>
</html>
3、sha1加密:页面中引入sha1.js(据说这是最安全的加密),调用方法为
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>sha1加密</title>
<script type="text/ecmascript" src="sha1.js"></script>
<script type="text/javascript">
var sha = hex_sha1('mima123465')
console.log(sha)
</script>
</head>
<body>
</body>
</html>
4.crypto-js-aes
前后端进行接口加密处理,采用 AES
+ BASE64
算法加密
import CryptoJS from "crypto-js";
const CRYPTOJSKEY = CryptoJS.enc.Utf8.parse("SLA202003~!@!#==SS");
// const CRYPTOJIV = CryptoJS.enc.Utf8.parse("1232312321321");
// 加密
export const encrypt = (password) => {
const srcs = CryptoJS.enc.Utf8.parse(password);
// 加密模式为ECB,补码方式为PKCS5Padding(也就是PKCS7)
const encrypted = CryptoJS.AES.encrypt(srcs, CRYPTOJSKEY, {
iv:CRYPTOJIV,
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
});
return encrypted.toString();
}
// 解密
export const decrypt = (word) => {
let base64 = CryptoJS.enc.Base64.parse(word);
let src = CryptoJS.enc.Base64.stringify(base64);
const decrypt = CryptoJS.AES.decrypt(src, CRYPTOJSKEY, {
iv:CRYPTOJIV,
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt);
}