javas实现md5加密功能模板,仅需将需要加密的字符串传入函数即可
md5(string) {
function md5_RotateLeft(lValue, iShiftBits) {
return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));
}
function md5_AddUnsigned(lX, lY) {
var lX4, lY4, lX8, lY8, lResult;
lX8 = lX & 0x80000000;
lY8 = lY & 0x80000000;
lX4 = lX & 0x40000000;
lY4 = lY & 0x40000000;
lResult = (lX & 0x3fffffff) + (lY & 0x3fffffff);
if (lX4 & lY4) {
return lResult ^ 0x80000000 ^ lX8 ^ lY8;
}
if (lX4 | lY4) {
if (lResult & 0x40000000) {
return lResult ^ 0xc0000000 ^ lX8 ^ lY8;
} else {
return lResult ^ 0x40000000 ^ lX8 ^ lY8;
}
} else {
return lResult ^ lX8 ^ lY8;
}
}
function md5_F(x, y, z) {
return (x & y) | (~x & z);
}
function md5_G(x, y, z) {
return (x & z) | (y & ~z);
}
function md5_H(x, y, z) {
return x ^ y ^ z;
}
function md5_I(x, y, z) {
return y ^ (x | ~z);
}
function md5_FF(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(
a,
md5_AddUnsigned(md5_AddUnsigned(md5_F(b, c, d), x), ac)
);
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
}
function md5_GG(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(
a,
md5_AddUnsigned(md5_AddUnsigned(md5_G(b, c, d), x), ac)
);
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
}
function md5_HH(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(
a,
md5_AddUnsigned(md5_AddUnsigned(md5_H(b, c, d), x), ac)
);
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
}
function md5_II(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(
a,
md5_AddUnsigned(md5_AddUnsigned(md5_I(b, c, d), x), ac)
);
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
}
function md5_ConvertToWordArray(string) {
var lWordCount;
var lMessageLength = string.length;
var lNumberOfWords_temp1 = lMessageLength + 8;
var lNumberOfWords_temp2 =
(lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)

本文提供了一个 Java 实现的 MD5 加密功能模板。通过该模板,只需将待加密的字符串作为输入参数,即可轻松完成 MD5 加密过程。
最低0.47元/天 解锁文章
3753

被折叠的 条评论
为什么被折叠?



