关于一个SHA1加密函数调用的问题!

「已注销」 2015-09-04 07:38:17
从SHA1加密函数代码里面找不到所调用的参数变量,在下刚学JS不久,请教高手指点指点,非常感谢!


【A】JS文件调用代码

return B=SHA1(A,!0)

【B】JS文件SHA1函数

var SHA1=function(){

//【B】

function b(a){
return g(h(f(a),a.length*8))
}

//【C】

function c(a){
var b="",c;
for(var d in a)c=a.charCodeAt(d),b+=(c>>4&15).toString(16)+(c&15).toString(16);
return b
}

//【D】

function d(a){
if(window.BASE64)return BASE64.encode(a)
}

//【E】

function e(b){
var c="",d=-1,e,f;
while(++d<b.length)e=b.charCodeAt(d),f=d+1<b.length?b.charCodeAt(d+1):0,55296<=e&&e<=56319&&56320<=f&&f<=57343&&(e=65536+((e&1023)<<10)+(f&1023),d++),e<=127?c+=a(e):e<=2047?c+=a(192|e>>6&31,128|e&63):e<=65535?c+=a(224|e>>12&15,128|e>>6&63,128|e&63):e<=2097151&&(c+=a(240|e>>18&7,128|e>>12&63,128|e>>6&63,128|e&63));
return c
}

//【F】

function f(a){
var b=[];
for(var c=0;
c<a.length*8;
c+=8)b[c>>5]|=(a.charCodeAt(c/8)&255)<<24-c%32;
return b
}

//【G】

function g(b){
var c="";
for(var d=0;
d<b.length*32;
d+=8)c+=a(b[d>>5]>>24-d%32&255);
return c
}

//【H】

function h(a,b){
a[b>>5]|=128<<24-b%32,a[(b+64>>9<<4)+15]=b;
var c=[],d=1732584193,e=-271733879,f=-1732584194,g=271733878,h=-1009589776;
for(var m=0;
m<a.length;
m+=16){
var n=d,o=e,p=f,q=g,r=h;
for(var s=0;
s<80;
s++){
s<16?c[s]=a[m+s]:c[s]=l(c[s-3]^c[s-8]^c[s-14]^c[s-16],1);
var t=k(k(l(d,5),i(s,e,f,g)),k(k(h,c[s]),j(s)));
h=g,g=f,f=l(e,30),e=d,d=t
}
d=k(d,n),e=k(e,o),f=k(f,p),g=k(g,q),h=k(h,r)
}
return[d,e,f,g,h]
}

//【I】

function i(a,b,c,d){
return a<20?b&c|~b&d:a<40?b^c^d:a<60?b&c|b&d|c&d:b^c^d
}

//【J】

function j(a){
return a<20?1518500249:a<40?1859775393:a<60?-1894007588:-899497514
}

//【K】

function k(a,b){
var c=(a&65535)+(b&65535),d=(a>>16)+(b>>16)+(c>>16);
return d<<16|c&65535
}

//【L】

function l(a,b){
return a<<b|a>>>32-b
}

var a=String.fromCharCode;
return function(a,f){
var g=b(e(a));
return f?d(g):c(g)
}

}
...全文
122 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2015-09-04
  • 打赏
  • 举报
回复
补充下,SHA1函数 function()并没有参数,为何调用是又填能参数!

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧