关于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;
			}
	         
	        
}


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

相关文章推荐

ASP MD5 16位和32位加密实现

<% Private Const BITS_TO_A_BYTE = 8 Private Const BYTES_TO_A_WORD = 4 Private Const BITS_TO_A_WORD =...

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

package com.kero99.ygc.util;import java.io.UnsupportedEncodingException; import java.math.BigInteger...

MD5加密(16位和32位),ZIP数据转换成String,list去重复

MD5加密,不用多少,直接上代码,分为16位和32位加密两种,代码如下,望批评指正 分为加密单个字符串和加密字符串数组,debug下,不难 /** * MD5字符串加密 * * ...

md5 的16位32位加密

一、单一 md5加密(创建继承NSObject) //md5.h文件 #import @interface MyMD5 : NSObject { } /***** MD5 加密...

ios 关于MD5 加密的32位与16位

在IOS开发过程中,为了保证数据的安全,我们通常要采取一些加密方法,常见的加密有Base64加密和MD5加密。Base64加密是可逆的,MD5加密目前来说一般是不可逆的。我们在开发一款App过程中,对...

在线破解16位和32位的MD5加密结果的网站

以下所列的网站能够在线破解16位和32位的MD5加密结果 当然,这里也只能破解出一些常用的相对简单的或者已经收录在数据库中的密码 若遇到密码无法破解的,只能怪自己的运气不够啦 ^_^ h...

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

package com.ts.u; import java.io.UnsupportedEncodingException; import java.security.MessageDigest;...

C ++ MD5 加密(32位和16位)

  • 2016-11-10 17:54
  • 4.18MB
  • 下载

vb MD5 16位和32位加密

  • 2016-12-31 15:27
  • 367KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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