md5 java js_javascript的md5算法,测试过跟java的MD5加出来一样

function encryptToMD5(a){

if(a=="") return a; return

rstr2hex(rstr_md5(str2rstr_utf8(a)))}function

hex_hmac_md5(a,b){return

rstr2hex(rstr_hmac_md5(str2rstr_utf8(a),str2rstr_utf8(b)))}function

md5_vm_test(){return

hex_md5("abc").toLowerCase()=="900150983cd24fb0d6963f7d28e17f72"}function

rstr_md5(a){return

binl2rstr(binl_md5(rstr2binl(a),a.length*8))}function

rstr_hmac_md5(c,f){var

e=rstr2binl(c);if(e.length>16){e=binl_md5(e,c.length*8)}var

a=Array(16),d=Array(16);for(var

b=0;b<16;b++){a[b]=e[b]^909522486;d[b]=e[b]^1549556828}var

g=binl_md5(a.concat(rstr2binl(f)),512+f.length*8);return

binl2rstr(binl_md5(d.concat(g),512+128))}function

rstr2hex(c){try{hexcase}catch(g){hexcase=0}var

f=hexcase?"0123456789ABCDEF":"0123456789abcdef";var b="";var

a;for(var d=0;d>>4)&15)+f.charAt(a&15)}return

b}function str2rstr_utf8(c){var b="";var d=-1;var

a,e;while(++d<=a&&a<=56319&&56320<=e&&e<=57343){a=65536+((a&1023)<<10)+(e&1023);d++}if(a<=127){b+=String.fromCharCode(a)}else{if(a<=2047){b+=String.fromCharCode(192|((a>>>6)&31),128|(a&63))}else{if(a<=65535){b+=String.fromCharCode(224|((a>>>12)&15),128|((a>>>6)&63),128|(a&63))}else{if(a<=2097151){b+=String.fromCharCode(240|((a>>>18)&7),128|((a>>>12)&63),128|((a>>>6)&63),128|(a&63))}}}}}return

b}function rstr2binl(b){var a=Array(b.length>>2);for(var

c=0;c>5]|=(b.charCodeAt(c/8)&255)<

a}function binl2rstr(b){var a="";for(var

c=0;c>5]>>>(c2))&255)}return a}function

binl_md5(p,k){p[k>>5]|=128<>>9)<<4)+14]=k;var

o=1732584193;var n=-271733879;var m=-1732584194;var

l=271733878;for(var

g=0;g>16)+(d>>16)+(c>>16);return(b<<16)|(c&65535)}function

bit_rol(a,b){return(a<>>(32-b))};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值