加密算法实现对encode64Javascript实例分析
本文介绍了加密算法的实现通过Javascript encode64。分享给你供你参考。以下是如下:这段代码可以实现encode64加密算法和速度是相当不错的。
/ / encode64编码
(函数(){())
无功codechar =paawo65uf7ik2vi9-xq8cftexlcdy1hd3tv0ryzjbpn_blnss4mgrkqwmzjeuh ;
window.encode64 =功能(STR){
var;
创建一个strtobytes(STR);
获取字符串字节数组,数组长度是字符串长度的2倍。
VaR既= a.length % 3;
用于处理的一组 / 3字节,剩下的特殊处理
var i=2,v;
(为;我< a.length;i = 3){
4个字符中的3个字节,
等于3个字符(实际上是6字节),8个字符编码(实际上是16字节)。
查看大量/容量扩展,但在启用压缩的情况下,这些已被偏移。
v = i - 2 } +({ i - 1 } < < 8)+({ < } < < 16);
S =(V codechar.charat 0x3f);
S = codechar.charat(0x3f(V,6));
S = codechar.charat(0x3f(V,12));
(S = codechar.charat(V,18));
}
如果(RES = 1){一字节一位时间,最多2个字符,64 * 64 > 256
{ { i - 2 };
S =(V codechar.charat 0x3f);
S = codechar.charat(0x3f(V,6));
{ { if(RES = 2)
当超过2位字节、3字节、64×64×64×256×256时,是可行的。
v = i - 2 } +({ i - 1 } < < 8);
S =(V codechar.charat 0x3f);
S = codechar.charat(0x3f(V,6));
S = codechar.charat(0x3f(V,12));
}
返回的;
};
window.decode64 =功能(codestr){
var = { };
对于(var i = 0;i < codechar.length;i++){
DIC { codechar.charat(我)} =我;
}
var代码{ };
VaR既= codestr长度为4;
var i=3,v;
(为;我< codestr.length;i = 4){
V = DIC { codestr.charat(I - 3)};
V = DIC { codestr.charat(I - 2)} < 6;
V = DIC { codestr.charat(I - 1)} < 12;
V = DIC { codestr.charat(i<18)};
Code.push(V 0xff,(V>8)0xff,(V>16)0xff);
}
如果(= = 2){
正确的字节数必须大于2或3,而不是1,如果存在,则放弃。
V = DIC { codestr.charat(I - 3)};
V = DIC { codestr.charat(I - 2)} < 6;
Code.push(V 0xff);
{ { if(RES = 3)
V = DIC { codestr.charat(I - 3)};
V = DIC { codestr.charat(I - 2)} < 6;
V = DIC { codestr.charat(I - 1)} < 12;
Code.push(V 0xff,((V>8)0xff);
}
返回strfrombytes(代码);
};
});
希望本文能对大家的javascript程序设计有所帮助。