cryptojs中aes前端加密方式

版权声明: 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即要加密的数据,这样返回的数据就是已经加密过的了。

猜你喜欢

转载自blog.csdn.net/qq_23521659/article/details/82691535