MD5加密!对密码进行MD5加密和验证
来源:互联网 发布:safari for windows 编辑:程序博客网 时间:2024/06/05 07:04
做项目为了用户登录的安全性,一般都会对用户的登录密码进行加密,加密的方式有很多种,下面是我在项目中用到的也是最常用的MD5加密方式,自己把它写成了一个工具类,附详细注释,代码如下:
package com.tx.mm.util;
import java.security.MessageDigest;import org.apache.log4j.Logger;
/**
* 對密碼進行加密和驗證
*
*/
public class CipherUtil {
private final static Logger log = Logger.getLogger(CipherUtil.class);
//十六進制下數字到字符的映射陣列
private final static String[] hexDigits = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};
/**inputString 加密
* @param inputString 要進行加密的輸入字符串
* @return 返回一個MD5加密后的字符串
*/
public static String generatePassword(String inputString){
return encodeByMD5(inputString);
}
/**
* 驗證輸入的密碼是否正確
* @param password 加密后的密碼
* @param inputString 輸入的字符串
* @return 驗證結果,true:正確 flase:錯誤
*/
public static boolean validatePassword(String password,String inputString){
if(password.equals(encodeByMD5(inputString))){
return true;
}else{
return false;
}
}
//對字符串進行MD5 加密
private static String encodeByMD5(String originString){
if(originString != null){
try{
//創建具有指定算法名稱的信息摘要
MessageDigest md = MessageDigest.getInstance("MD5");
//使用指定的字節數組隊摘要進行最後更新,然後完成摘要計算
byte[] results = md.digest(originString.getBytes());
//將得到的字節數組變成字符串返回
String resultString = byteArrayToHexString(results);
return resultString.toUpperCase();
}catch(Exception ex){
ex.printStackTrace();
log.debug(ex.getMessage());
}
}
return null;
}
/**
* 轉換字節數組為十六進制字符串
* @param b 字節數組
* @return 十六進制字符串
*/
private static String byteArrayToHexString(byte[] b){
StringBuffer resultSb = new StringBuffer();
for(int i = 0; i < b.length; i++){
resultSb.append(byteToHexString(b[i]));
}
return resultSb.toString();
}
//將一個字節轉化成十六進制形式的字符串
private static String byteToHexString(byte b){
int n = b;
if(n < 0) n = 256+n;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}
}
阅读全文
0 0
- MD5加密!对密码进行MD5加密和验证
- MD5密码加密和验证
- 密码进行MD5加密
- C#:使用MD5对密码进行加密!
- .net对密码进行MD5加密
- 对密码字段进行加密(MD5)
- 使用MD5对密码进行加密
- 使用MD5对密码进行加密
- 用java对密码进行MD5加密
- 用java对密码进行MD5加密
- MD5对密码进行加密处理机制
- 使用MD5对明文密码进行加密
- 使用Md5算法对密码进行加密
- Java的MD5对密码进行加密和验证的类
- 【数据加密】MD5对加密数据进行验证
- 对字符串进行MD5加密
- java对字符串密码的MD5加密与验证
- 使用md5算法对密码进行加密保存
- 异常类-File类-IO流
- Tp3.2 学习
- java排序Comparator基本用法
- Kafka(自带的zookeeper)集群搭建详细步骤
- Hadoop集群多用户部署
- MD5加密!对密码进行MD5加密和验证
- 微信小程序实现控制标题栏背景色
- [uboot] (第六章)uboot流程——命令行模式以及命令处理介绍
- mac修改mysql的账号密码 初始化账号密码
- SpringBoot集成dubbo
- Linux常用服务配置(Java开发) 一
- fastxml Jackson
- Unresolved compilation problem:
- Window、Activity、DecorView以及ViewRoot之间的关系