Aes
import CryptoJS from 'crypto-js'
var AesUtil = {
encrypt: function (word,key) {
word = this.AES.Base64Encode(word);
return this.AES.encrypt(word,key)
},
decrypt: function (word,key) {
var base64Str = this.AES.decrypt(word, key);
return this.AES.Base64Decode(base64Str);
},
AES: {
Base64Encode: function (str) {
var src = CryptoJS.enc.Utf8.parse(str);
return CryptoJS.enc.Base64.stringify(src).toString();
},
Base64Decode: function (str) {
return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(str));
},
encrypt: function (word,key,iv) {
var srcs = CryptoJS.enc.Utf8.parse(word);
if(key == undefined){
key = "1234567890123456";
}
key = CryptoJS.enc.Utf8.parse(key);
if(iv == undefined){
iv = "0123456789012345";
}
iv = CryptoJS.enc.Utf8.parse(iv);
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7,iv:iv });
return encrypted.ciphertext.toString();
},
decrypt: function (word, key, iv) {
word = CryptoJS.enc.Hex.parse(word);
word = CryptoJS.enc.Base64.stringify(word);
if (key == undefined) {
key = "1234567890123456";
}
key = CryptoJS.enc.Utf8.parse(key);
if (iv == undefined) {
iv = "0123456789012345";
}
iv = CryptoJS.enc.Utf8.parse(iv);
var decrypt = CryptoJS.AES.decrypt(word, key, {
mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7,iv:iv });
return this.Base64Decode(decrypt.toString(CryptoJS.enc.Base64));
}
}
};
export default AesUtil;
hex64
var _hexCHS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz$_~";
var Hex64 = function (key) {
this._key = [],
this._tbl = {
};
for (var _i = 0; _i < 64; ++_i) {
this._key[_i] = _hexCHS.charAt(key[_i]);
this._tbl[this._key[_i]] = _i
}
this._pad = _hexCHS.charAt(64)
};
Hex64.prototype.endWith = function (oldStr, findStr) {
var reg = new RegExp(findStr + "$");
return reg.test(oldStr);
};
Hex64.prototype.enc = function (s) {
var _rs = "";
var _c1, _c2, _c3, _n1, _n2, _n3, _n4;
var _i = 0;
var _a = Hex64._2to1(s);
var _en = _a.length % 3,
_sz = _a.length - _en;
while (_i < _sz) {
_c1 = _a[_i++];
_c2 = _a[_i++];
_c3 = _a[_i++];
_n1 = _c1 >> 2;
_n2 = ((_c1 & 3) << 4) | (_c2 >> 4);
_n3 = ((_c2 & 15) << 2) | (_c3 >> 6);
_n4 = _c3 & 63;
_rs += this._key[_n1] + this._key[_n2] + this._key[_n3] + this._key[_n4]
}
if (_en > 0) {
_c1 = _a[_i++];
_c2 = _en > 1 ? _a[_i] : 0;
_n1 = _c1 >> 2;
_n2 = (</