MD5加密

        MD5加密       

        分类:            AndroidJava 94人阅读 评论(0) 收藏 举报

        MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。

         MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)计算后的MD5值是唯一的。这个过程是不可逆的。

使用方向:

       1.安全访问认证


         在登录时验证密码正确与否时,将本次的密码作MD5运算后与上次的作比较。


       2.一致性验证


         根据文件内容或信息计算出它的MD5值,如果文件或者信息修改后再次计算出的MD5值必将不同


        以上参考百度百科总结而来。地址  http://baike.baidu.com/view/7636.html

   

       

         以下是我使用java的MD5加密 32位

  1. import java.security.MessageDigest; 
  2.  
  3. public class BWMD5 { 
  4.     public final static String MD5(String s){ 
  5.          char hexDigits[] = { 
  6.              '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd'
  7.              'e', 'f'}; 
  8.          try
  9.            byte[] strTemp = s.getBytes(); 
  10.            MessageDigest mdTemp = MessageDigest.getInstance("MD5"); 
  11.            mdTemp.update(strTemp); 
  12.            byte[] md = mdTemp.digest(); 
  13.            int j = md.length; 
  14.            char str[] = new char[j * 2]; 
  15.            int k = 0
  16.            for (int i = 0; i < j; i++) { 
  17.              byte byte0 = md[i]; 
  18.              str[k++] = hexDigits[byte0 >>> 4 & 0xf]; 
  19.              str[k++] = hexDigits[byte0 & 0xf]; 
  20.              } 
  21.              return new String(str); 
  22.            } 
  23.            catch (Exception e) 
  24.            { 
  25.              return null
  26.            } 
  27.        } 
import java.security.MessageDigest;

public class BWMD5 {
	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;
	       }
	   }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值