Jquery与java MD5加密不同
答案:4 悬赏:70 手机版
解决时间 2021-03-20 03:33
- 提问者网友:遁入空寂
- 2021-03-19 11:02
Jquery与java MD5加密不同
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-03-19 12:18
- jquery是前端框架,准确来说是客户端脚本解释性语言JavaScript的框架。
Java是一种面向对象的高级语言。
MD5是一种加密算法,是用Java语言写的加密算法。因此,这两者没有可比性,本质就不同。
全部回答
- 1楼网友:平生事
- 2021-03-19 15:46
参考一下这个网址
http://my.oschina.net/sourcecoding/blog/75637
因为Java默认编码是unicode, byte[] btInput = s.getBytes();获得的是默认的unicode的byte数组。需要将这句改为byte[] btInput = s.getBytes("utf-8");就OK啦。
http://my.oschina.net/sourcecoding/blog/75637
因为Java默认编码是unicode, byte[] btInput = s.getBytes();获得的是默认的unicode的byte数组。需要将这句改为byte[] btInput = s.getBytes("utf-8");就OK啦。
- 2楼网友:爱难随人意
- 2021-03-19 14:18
var hexcase=0;
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>>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)<<(c%32)}return a}function binl2rstr(b){var a="";for(var c=0;c>5]>>>(c%32))&255)}return a}function binl_md5(p,k){p[k>>5]|=128<<((k)%32);p[(((k+64)>>>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))};
这是javascript的md5算法,测试过跟java的MD5加出来是一样的
使用方法:
var md5Pwd = encryptToMD5(str);
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
这是javascript的md5算法,测试过跟java的MD5加出来是一样的
使用方法:
var md5Pwd = encryptToMD5(str);
- 3楼网友:轮獄道
- 2021-03-19 13:24
首先你得确认两个md5加密的方式是相同的。加密时的参数设置是一样的。追问我现在用相同的字段,但是加密出来的结果不一样。都是MD5加密,方式有什么不同呢?追答md5加密的源代码里面是可以设置改变参数的。这样,同是md5加密,得出的结果就不一样了。同是这样加密的效果也更好。编码格式的话,你都设置成utf-8试试。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯