版权声明: https://blog.csdn.net/qq_23521659/article/details/82691535
引入文件:
下载地址:
aes.js:https://download.csdn.net/download/qq_23521659/10665052
pad-zeropadding-min.js:https://download.csdn.net/download/qq_23521659/10665056
加密的代码是:
function encrypt(data) {
var key = CryptoJS.enc.Latin1.parse('ea3ac5b2af5c11e8');
var iv = CryptoJS.enc.Latin1.parse('f92aaa9aaf5c11e8');
return CryptoJS.AES.encrypt(data, key, {iv:iv, mode:CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding}).toString();
}
这里的 key和iv的参数值是和后台java约定好的,其他一样;
我使用在了angular环境里,所以把加密方法封装成了过滤器:
app.filter("encrypt",function () {
return function (data) {
var key = CryptoJS.enc.Latin1.parse('ea3ac5b2af5c11e8');
var iv = CryptoJS.enc.Latin1.parse('f92aaa9aaf5c11e8');
return CryptoJS.AES.encrypt(data, key, {iv:iv, mode:CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding}).toString();
}
})
使用的时候直接:
$filter("encrypt")($scope.username)
$scope.username即要加密的数据,这样返回的数据就是已经加密过的了。