我在 site auth 上有 Javascript md5。
我只需要实现这个功能:
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
我需要以下方法的帮助:
将小端字节数组转换为十六进制字符串:
function binl2hex(binarray)
{
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
var str = "";
for(var i = 0; i < binarray.length * 4; i++)
{
str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);
}
return str;
}
将字符串转换为小尾数单词数组 如果 chrsz 是 ASCII,则 >255 个字符的高字节将被静默忽略。
function str2binl(str)
{
var bin = Array();
var mask = (1 << chrsz) - 1;
for(var i = 0; i < str.length * chrsz; i += chrsz)
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
return bin;
}
最佳答案
如果您只是想实现 MD5,那是 java 中内置的东西。
关于java - 在java实现中寻找javascript md5方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11907171/