以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Java/Eclipse 』 (http://bbs.xml.org.cn/list.asp?boardid=41) ---- JAVA 的MD5加密算法源代码 (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=13873) |
-- 作者:Qr -- 发布时间:1/20/2005 5:36:00 PM -- JAVA 的MD5加密算法源代码 import java.security.*; import java.security.spec.*; class MD5_Test{ public final static String MD5(String s){ System.out.print(MD5_Test.MD5("XX")); |
-- 作者:xmzhy -- 发布时间:3/3/2005 6:23:00 PM -- see |
-- 作者:lqefn -- 发布时间:4/22/2005 5:37:00 PM -- 有意思,哈. |
-- 作者:binaryluo -- 发布时间:7/14/2005 9:36:00 PM -- 用java就是方便,不出30行就搞定了。 |
-- 作者:hityelin -- 发布时间:7/15/2005 9:07:00 AM -- 有个问题,这个适合的是短的字符串类型 我想知道,如果是一个文件怎么办,如果将一个文件全部读入内存似乎也不是一种很好的方法! 要是分批处理是不是要有些什么特别的要求,比如读入的是512的整数倍之类 |
-- 作者:binaryluo -- 发布时间:7/21/2005 11:04:00 PM -- MD5输入可以是任何长度的消息,输出是固定的128位的一个字符串(摘要)。(详细的请参看RFC1321) 处理步骤: 步骤1:增加填充位。填充消息使得其长度与448模512同余。也就是说填充后的消息长度比512的某个整数倍少64位。 步骤2:填充长度。用64位表示填充前消息的长度,并将其附在步骤1所得结果之后。填充前消息长度如果大于2的64次方,则只使用其低64位,即它所包含的是填充前消息的长度对2的64次方取模的结果。 步骤3:初始化MD缓冲区。hash函数的中间结果和最终结果保存于128位的缓冲区中,缓冲区用4个32位寄存器(A,B,C,D)表示,并将这些寄存器初始化为下列32位的整数(16进制): A=67452301 B=EFCDAB89 C=98BADCFE D=10325476 以上初始化值以低端格式存储,也就是说,字的最低有效位存储在低地址字节位置。 步骤4:以 512 位的分组(16个字)位单位处理消息。具体是4轮运算结构相同,但各轮使用不同的基本逻辑函数。 (具体步骤略) 步骤5:输出。所有的 L 个 512 位的分组处理完后,第 L 个分组的输出即是128位的消息摘要。 |
-- 作者:jcxuefeng -- 发布时间:9/20/2005 10:16:00 AM -- 厉害啊!java就是N! |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
648.438ms |