1. 程式人生 > >cryptojs中aes前端加密方式

cryptojs中aes前端加密方式

引入檔案:

下載地址:

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即要加密的資料,這樣返回的資料就是已經加密過的了。