MD5加密工具类

MD5加密工具类

代码如下


package com.baizhi.lzh.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Random;

public class MD5Util {

	//参数1:输入明文密码

	public static String  getMd5Code(String password){

		StringBuilder sb = null;

		try {

			//创建加密对象

			//参数1: 算法名字

			MessageDigest messageDigest = MessageDigest.getInstance("MD5");

			//进行加密  返回加密之后结果也是字节

			byte[] digest = messageDigest.digest(password.getBytes());

			sb = new StringBuilder();

			for (byte b : digest) {

				//位运算

				int len = b & 0xff;    //0  0x0 0x1 0x2 0x3 0x4 0x9  10  0xa   15  0xf  16 0x10 170x11

				if(len<=15){

					sb.append("0");

				}

				sb.append(Integer.toHexString(len));

			}

		} catch (NoSuchAlgorithmException e) {

			e.printStackTrace();

		}

		return sb.toString();

	}

		

	//生成随机的盐
	public static  String  getSalt(int n){

		char[] code =  "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".toCharArray();

		StringBuilder sb = new StringBuilder();

		for (int i = 0; i < n; i++) {

			sb.append(code[new Random().nextInt(code.length)]);

		}

		return sb.toString();

	}

	

	//测试

	public static void main(String[] args) throws NoSuchAlgorithmException {
		String salt = getSalt(6);
		System.out.println(salt);
		
		
		String password ="111111";
		String md5Code = getMd5Code(salt+password+salt);
		
		
		System.out.println(md5Code);  
		
		// 1111111111  e11170b8cbd2d74102651cb967fa28e5
		//31d565bdcad80a09d1161d8110ba7b35
		
		//N53pKp
		//
		
		//  aaa@163.com   ea35afbbb799b148074338bad44ff322   (abcd111111abcd)
		
		//user   password  
		
		//     aaa@163.com  111111
	  

	}
}

使用的注解直接调用,参数为生成盐的位数

使用及加密方式

 */// 加密
					String salt = MD5Util.getSalt(8);
					String newPassword = MD5Util.getMd5Code(salt
							+ user.getPassword() + salt);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值