首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >生成32位MD5加密

生成32位MD5加密

作者头像
用户5927264
发布2019-07-31 18:38:23
发布2019-07-31 18:38:23
2.1K0
举报
文章被收录于专栏:OSChinaOSChina
代码语言:javascript
复制
/*
 * 功能:32位MD5算法 用来进行加密
 * 
 */
package com.shi.Tools;

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


public class MD5_Demo {

	
	public static void main(String[] args) {
		System.out.println(MD5("施爷"));
		System.out.println(MD5("abc"));

	}

	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();
			//申明mdTemp为MD5加密的形式
			MessageDigest mdTemp=MessageDigest.getInstance("MD5");
			//进行字节加密并行进加密 转化成16位字节码的形式
			mdTemp.update(strTemp);
			byte[] md=mdTemp.digest();
			//j=32 
			int j=md.length;
			char str[]=new char[j*2];
			int k=0;
			//对字符串进行重新编码成32位的形式
			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) {
			return null;			
		}
		
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档