decrypt:function(a,b,c,d){d=this.cfg.extend(d);b=this._parse(b,d.format);return a.createDecryptor(c,d).finalize(b.ciphertext)},_parse:function(a,b){return"string"==typeof a?b.parse(a,this):a}}),p=(p.kdf={}).OpenSSL={execute:function(a,b,c,d){d||(d=s.random(8));a=w.create({keySize:b+c}).compute(a,d);c=s.create(a.words.slice(b),4*c);a.sigBytes=4*b;return n.create({key:a,iv:c,salt:d})}},c=d.PasswordBasedCipher=a.extend({cfg:a.cfg.extend({kdf:p}),encrypt:function(b,c,d,l){l=this.cfg.extend(l);d=l.kdf.execute(d,
b.keySize,b.ivSize);l.iv=d.iv;b=a.encrypt.call(this,b,c,d.key,l);b.mixIn(d);return b},decrypt:function(b,c,d,l){l=this.cfg.extend(l);c=this._parse(c,l.format);d=l.kdf.execute(d,b.keySize,b.ivSize,c.salt);l.iv=d.iv;return a.decrypt.call(this,b,c,d.key,l)}})}();
(function(){for(var u=CryptoJS,p=u.lib.BlockCipher,d=u.algo,l=[],s=[],t=[],r=[],w=[],v=[],b=[],x=[],q=[],n=[],a=[],c=0;256c;c++)a[c]=128c?c1:c1^283;for(var e=0,j=0,c=0;256c;c++){var k=j^j1^j2^j3^j4,k=k8^k255^99;l[e]=k;s[k]=e;var z=a[e],F=a[z],G=a[F],y=257*a[k]^16843008*k;t[e]=y24|y8;r[e]=y16|y16;w[e]=y8|y24;v[e]=y;y=16843009*G^65537*F^257*z^16843008*e;b[k]=y24|y8;x[k]=y16|y16;q[k]=y8|y24;n[k]=y;e?(e=z^a[a[a[G^z]]],j^=a[a[j]]):e=j=1}var H=[0,1,2,4,8,
16,32,64,128,27,54],d=d.AES=p.extend({_doReset:function(){for(var a=this._key,c=a.words,d=a.sigBytes/4,a=4*((this._nRounds=d+6)+1),e=this._keySchedule=[],j=0;ja;j++)if(jd)e[j]=c[j];else{var k=e[j-1];j%d?6d4==j%d(k=l[k24]24|l[k16255]16|l[k8255]8|l[k255]):(k=k8|k24,k=l[k24]24|l[k16255]16|l[k8255]8|l[k255],k^=H[j/d|0]24);e[j]=e[j-d]^k}c=this._invKeySchedule=[];for(d=0;da;d++)j=a-d,k=d%4?e[j]:e[j-4],c[d]=4d||4=j?k:b[l[k24]]^x[l[k16255]]^q[l[k
8255]]^n[l[k255]]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._keySchedule,t,r,w,v,l)},decryptBlock:function(a,c){var d=a[c+1];a[c+1]=a[c+3];a[c+3]=d;this._doCryptBlock(a,c,this._invKeySchedule,b,x,q,n,s);d=a[c+1];a[c+1]=a[c+3];a[c+3]=d},_doCryptBlock:function(a,b,c,d,e,j,l,f){for(var m=this._nRounds,g=a[b]^c[0],h=a[b+1]^c[1],k=a[b+2]^c[2],n=a[b+3]^c[3],p=4,r=1;rm;r++)var q=d[g24]^e[h16255]^j[k8255]^l[n255]^c[p++],s=d[h24]^e[k16255]^j[n8255]^l[g255]^c[p++],t=
d[k24]^e[n16255]^j[g8255]^l[h255]^c[p++],n=d[n24]^e[g16255]^j[h8255]^l[k255]^c[p++],g=q,h=s,k=t;q=(f[g24]24|f[h16255]16|f[k8255]8|f[n255])^c[p++];s=(f[h24]24|f[k16255]16|f[n8255]8|f[g255])^c[p++];t=(f[k24]24|f[n16255]16|f[g8255]8|f[h255])^c[p++];n=(f[n24]24|f[g16255]16|f[h8255]8|f[k255])^c[p++];a[b]=q;a[b+1]=s;a[b+2]=t;a[b+3]=n},keySize:8});u.AES=p._createHelper(d)})();
pad-zeropadding.js
/*
CryptoJS v3.1.2
code.google.com/p/crypto-js
(c) 2009-2013 by Jeff Mott. All rights reserved.
code.google.com/p/crypto-js/wiki/License
*/
/**
* Zero padding strategy.
*/
CryptoJS.pad.ZeroPadding = {
pad: function (data, blockSize) {
// Shortcut
var blockSizeBytes = blockSize * 4;
// Pad
data.clamp();
data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);
},
unpad: function (data) {
// Shortcut
var dataWords = data.words;
// Unpad
var i = data.sigBytes - 1;
while (!((dataWords[i2](24 - (i % 4) * 8))0xff)) {
i--;
}
data.sigBytes = i + 1;
}
};
PHP常用加密解密方法作者/上善若水
1.md5(string $str,bool $flag = false);
$flag = false 默认返回32位的16进至数据散列值
【php加解密的数据 php des解密】 $flag = true返回原始流数据
2.sha1($string,$flag = false)
$flag = false 默认返回40位的16进至数据散列值
true返回原始流数据
3.hash(string $algo,srting $str,bool $flag);
$algo : 算法名称,可通过hash_algos()函数获取所有hash加密的算法
如:md5,sha1等,采用md5,sha1加密所得结果和1,2两种方式结 果相同 。
$flag = false 默认返回16进至的数据散列值 , 具体长度根据算法不同
推荐阅读
- 如何停止360广告推广,怎么关闭360的广告推送
- jquery提示层,jquery弹出窗口
- 鸿蒙系统文件夹怎么换图片,鸿蒙系统文件夹怎么换图片背景
- 新媒体如何推广内容,新媒体如何推广内容营销
- java控制台代码 java控制台指令
- SAP账单,SAP账单编号
- 4399赛车赛车游戏,4399赛车页游
- nds休闲益智类游戏,nds休闲益智类游戏
- c语言多少个函数 c语言中有多少个函数