91名师指路-头部
91名师指路

Md5 工具类

由于某些原因,现在不支持支付宝支付,如需要购买源码请加博主微信进行购买,微信号:13248254750

package com.fyq.utils;

import java.security.MessageDigest;

/*
* md5 加密
*/
public class Md5 {

public static String getMD5ofStr(String origString) {
String origMD5 = null;
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
byte[] result = md5.digest(origString.getBytes());
origMD5 = byteArray2HexStr(result);
}
catch (Exception e) {
e.printStackTrace();
}
return origMD5.toUpperCase().toLowerCase();
}

/**
* 处理字节数组得到MD5密码的方法
*/
private static String byteArray2HexStr(byte[] bs) {
StringBuffer sb = new StringBuffer();
for (byte b : bs) {
sb.append(byte2HexStr(b));
}
return sb.toString();
}

/**
* 字节标准移位转十六进制方法
*/
private static String byte2HexStr(byte b) {
String hexStr = null;
int n = b;

if (n < 0) {
//若需要自定义加密,请修改这个移位算法即可
n = b & 0x7F + 128;
}
hexStr = Integer.toHexString(n / 16) + Integer.toHexString(n % 16);
return hexStr.toUpperCase();
}

/**
* 提供一个MD5多次加密方法
*/
public static String getMD5ofStr(String origString, int times) {
String md5 = getMD5ofStr(origString);
for (int i = 0; i < times - 1; i++) {
md5 = getMD5ofStr(md5);
}
return getMD5ofStr(md5);
}

/**
* 密码验证方法
*/
public static boolean verifyPassword(String inputStr, String MD5Code) {
return getMD5ofStr(inputStr).equals(MD5Code);
}

/**
* 重载一个多次加密时的密码验证方法
*/
public static boolean verifyPassword(String inputStr, String MD5Code, int times) {
return getMD5ofStr(inputStr, times).equals(MD5Code);
}

public static void main(String[] args) {
System.out.println(getMD5ofStr("123456").toLowerCase());
}
}


2019-08-09 21:27:49     阅读(710)

名师出品,必属精品    https://www.91mszl.com

联系博主    
用户登录遮罩层
x

账号登录

91名师指路-底部