Java MD5加密算法学习

浏览:
字体:
发布时间:2013-12-09 23:23:35
来源:东方联盟

   MD5,即"Message-Digest Algorithm 5(信息-摘要算法)",它由MD2、MD3、MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著名的公钥加密算法标准RSA的第一设计者R.Rivest于上个世纪90年代初开发出来的。MD5的最大作用在于,将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前"压缩"成一种保密的格式,关键之处在于这种"压缩"是不可逆的。


     JavaDemo:Md5Demo.java

 

package com.zsl.algorithm;    import java.security.MessageDigest;  import java.security.NoSuchAlgorithmException;    public class Md5Demo {      /**      *       * @param s:要进行加密的字符串      * @return  字符串的md5值      */      public static String getMd5(String s) {          char hexChar[] = {'0', '1', '2', '3', '4', '5', '6',                   '7', '8' , '9', 'a', 'b', 'c', 'd', 'e', 'f'};          //md5加密算法的加密对象为字符数组,这里是为了得到加密的对象           byte[] b = s.getBytes();          try {              MessageDigest md = MessageDigest.getInstance("MD5");              md.update(b);              byte[] b2 = md.digest();// 进行加密并返回字符数组               char str[] = new char[b2.length << 1];              int len = 0;              //将字符数组转换成十六进制串,形成最终的密文               for (int i = 0; i < b2.length; i++) {                  byte val = b2[i];                  str[len++] = hexChar[(val >>> 4) & 0xf];                  str[len++] = hexChar[val & 0xf];              }              return new String(str);          } catch (NoSuchAlgorithmException e) {              // TODO Auto-generated catch block               e.printStackTrace();          }          return null;      }        public static void main(String[] args) {          String res = getMd5("20130702");          System.out.println(res + "|size = " + res.length());      }  }  

 

>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 下载 | 关于东盟 | 安全雇佣 | 搞笑视频大全 | 微信学院 |
关于我们 | 联系我们 | 广告服务 | 人才招聘 | 服务条款 | 免责申明 | 帮助中心 | 作品发布 | 网站地图 | 技术培训
Copyright © 2007 - 2018 Vm888.Com. All Rights Reserved
东方联盟 版权所有