关于md5加密的实现(16位、32位)

原创 2016年08月30日 15:21:29

最近公司需要接口对接,用到了md5加密的验证,现整理出相关的加密算法的代码,供今后方便使用。

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

MD5加密算法代码(32位)

/**
    * @param plainText
    *            明文
    * @return 32位密文
    */
   public String encryption(String plainText) {
       String re_md5 = new String();
       try {
           MessageDigest md = MessageDigest.getInstance("MD5");
           md.update(plainText.getBytes());
           byte b[] = md.digest();

           int i;

           StringBuffer buf = new StringBuffer("");
           for (int offset = 0; offset < b.length; offset++) {
               i = b[offset];
               if (i < 0)
                   i += 256;
               if (i < 16)
                   buf.append("0");
               buf.append(Integer.toHexString(i));
           }

           re_md5 = buf.toString();

       } catch (NoSuchAlgorithmException e) {
           e.printStackTrace();
       }
       return re_md5;
   }
MD5加密算法代码(16位)
/**
	  * 16位MD5加密
	 * @param s
	 * @return
	 */
	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[] btInput = s.getBytes();
	   	     // 获得MD5摘要算法的 MessageDigest 对象
				MessageDigest mdInst = MessageDigest.getInstance("MD5");
				 // 使用指定的字节更新摘要
	            mdInst.update(btInput);
	            // 获得密文
	            byte[] md = mdInst.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 (NoSuchAlgorithmException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				 return null;
			}
	         
	        
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

js 16位或32位md5加密

var hexcase=0;var b64pad="";var chrsz=8;function hex_md5(s){return binl2hex(core_md5(str2binl(s),s.l...
  • boys1999
  • boys1999
  • 2015年01月15日 23:17
  • 2834

16位的MD5加密和32位MD5加密的区别

MD5加密后所得到的通常是32位的编码,而在不少地方会用到16位的编码它们有什么区别呢?16位加密就是从32位MD5散列中把中间16位提取出来!其实破解16位MD5散列要比破解32位MD5散列还慢因为...
  • jackyYEN
  • jackyYEN
  • 2007年10月10日 16:12
  • 13117

MD5算法加密~16位、32位、64位

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法)。 MD5算法加密~16位、32位、64位。 1991年,由Ronald L. Rivest开发出来,经MD2、MD...
  • typa01_kk
  • typa01_kk
  • 2015年10月15日 14:39
  • 16403

C# MD5-16位加密实例,32位加密实例(两种方法)

出处:http://www.xuebuyuan.com/319511.html 1.MD5 16位加密实例 using System; using System.Collections.Ge...
  • u010158775
  • u010158775
  • 2016年01月21日 11:00
  • 3242

java中16位或32位MD5加密

import java.security.MessageDigest; /** * @Description:MD5加解密工具 * @author:liuyc * @time:2016年5月2...
  • u010197591
  • u010197591
  • 2016年05月23日 17:54
  • 9382

.Net中的MD5加密-16位32位

c#示例 public string md5(string str,int code) {  if(code==16) //16位MD5加密(取32位加密的9~25字符)  {  return Sys...
  • l_hui_p_cn
  • l_hui_p_cn
  • 2006年05月11日 15:30
  • 600

MD5简单加密实现32位16位字符

package com.kero99.ygc.util;import java.io.UnsupportedEncodingException; import java.math.BigInteger...
  • qq_17025903
  • qq_17025903
  • 2017年03月29日 11:09
  • 886

MD5 32位、16位加密

MD5 32位、16位加密
  • vaecnfeilong
  • vaecnfeilong
  • 2013年08月27日 11:06
  • 2367

Java 生成16/32位 MD5

注意private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ...
  • codeeer
  • codeeer
  • 2014年06月11日 12:37
  • 10523

16/32位MD5加密工具类

import java.security.MessageDigest; public class MD5Util { public static String MD5(String sourceS...
  • Lakers_KobeBryant
  • Lakers_KobeBryant
  • 2014年05月10日 18:49
  • 2083
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于md5加密的实现(16位、32位)
举报原因:
原因补充:

(最多只允许输入30个字)