新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     >>计算机科学论坛<<     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Java, J2SE, J2ME, J2EE, 以及Eclipse, NetBeans, JBuilder等Java开发环境,还有JSP, JavaServlet, JavaBean, EJB以及struts, hibernate, spring, webwork2, Java 3D, JOGL等相关技术。
    [返回] 计算机科学论坛计算机技术与应用『 Java/Eclipse 』 → JAVA 的MD5加密算法源代码 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 30639 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: JAVA 的MD5加密算法源代码 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 Java/Eclipse 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客楼主
    发贴心情 JAVA 的MD5加密算法源代码

    import java.security.*;
    import java.security.spec.*;

    class MD5_Test{

    public final static String MD5(String s){
    char hexDigits[] = {
    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
    'e', 'f'};
    try {
    byte[] strTemp = s.getBytes();
    MessageDigest mdTemp = MessageDigest.getInstance("MD5");
    mdTemp.update(strTemp);
    byte[] md = mdTemp.digest();
    int j = md.length;
    char str[] = new char[j * 2];
    int k = 0;
    for (int i = 0; i < j; i++) {
    byte byte0 = md[i];
    str[k++] = hexDigits[byte0 >>> 4 & 0xf];
    str[k++] = hexDigits[byte0 & 0xf];
    }
    return new String(str);
    }
    catch (Exception e){
    return null;
    }
    }
    public static void main(String[] args){
    //MD5_Test aa = new MD5_Test();

    System.out.print(MD5_Test.MD5("XX"));
    }


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/1/20 17:36:00
     
     xmzhy 帅哥哟,离线,有人找我吗?狮子座1978-8-18
      
      
      威望:5
      等级:计算机学士学位
      文章:385
      积分:2003
      门派:XML.ORG.CN
      注册:2003/10/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xmzhy发送一个短消息 把xmzhy加入好友 查看xmzhy的个人资料 搜索xmzhy在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看xmzhy的博客2
    发贴心情 
    see
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/3 18:23:00
     
     lqefn 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:13
      积分:110
      门派:XML.ORG.CN
      注册:2005/4/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lqefn发送一个短消息 把lqefn加入好友 查看lqefn的个人资料 搜索lqefn在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lqefn的博客3
    发贴心情 
    有意思,哈.
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/22 17:37:00
     
     binaryluo 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      等级:研二(Pi-Calculus看得一头雾水)(版主)
      文章:679
      积分:5543
      门派:IEEE.ORG.CN
      注册:2005/2/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给binaryluo发送一个短消息 把binaryluo加入好友 查看binaryluo的个人资料 搜索binaryluo在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看binaryluo的博客4
    发贴心情 
    用java就是方便,不出30行就搞定了。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/14 21:36:00
     
     hityelin 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:54
      门派:XML.ORG.CN
      注册:2005/7/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hityelin发送一个短消息 把hityelin加入好友 查看hityelin的个人资料 搜索hityelin在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hityelin的博客5
    发贴心情 
    有个问题,这个适合的是短的字符串类型
    我想知道,如果是一个文件怎么办,如果将一个文件全部读入内存似乎也不是一种很好的方法!

    要是分批处理是不是要有些什么特别的要求,比如读入的是512的整数倍之类
    希望可以解答

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/15 9:07:00
     
     binaryluo 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      等级:研二(Pi-Calculus看得一头雾水)(版主)
      文章:679
      积分:5543
      门派:IEEE.ORG.CN
      注册:2005/2/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给binaryluo发送一个短消息 把binaryluo加入好友 查看binaryluo的个人资料 搜索binaryluo在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看binaryluo的博客6
    发贴心情 
    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位的消息摘要。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/21 23:04:00
     
     jcxuefeng 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(数据结构考了98分!)
      文章:79
      积分:378
      门派:XML.ORG.CN
      注册:2005/9/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jcxuefeng发送一个短消息 把jcxuefeng加入好友 查看jcxuefeng的个人资料 搜索jcxuefeng在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jcxuefeng的博客7
    发贴心情 
    厉害啊!java就是N!

    ----------------------------------------------
    学会对别人说NO~

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/9/20 10:16:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Java/Eclipse 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/3/28 15:40:01

    本主题贴数7,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms