md5算法使用方法(写一个md5类如下,调用时只需要Encrypt.e(密码))即可
来源:互联网 发布:乐视没有mac版怎么看4K 编辑:程序博客网 时间:2024/05/21 20:22
package sy.util.base;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* 加密工具类
*
* md5加密出来的长度是32位
*
* sha加密出来的长度是40位
*
*
*/
public class Encrypt {
/**
* 加密
*
* @param inputText
* @return
*/
public static String e(String inputText) {
return md5(inputText);
}
/**
* 二次加密,应该破解不了了吧?
*
* @param inputText
* @return
*/
public static String md5AndSha(String inputText) {
return sha(md5(inputText));
}
/**
* md5加密
*
* @param inputText
* @return
*/
public static String md5(String inputText) {
return encrypt(inputText, "md5");
}
/**
* sha加密
*
* @param inputText
* @return
*/
public static String sha(String inputText) {
return encrypt(inputText, "sha-1");
}
/**
* md5或者sha-1加密
*
* @param inputText
* 要加密的内容
* @param algorithmName
* 加密算法名称:md5或者sha-1,不区分大小写
* @return
*/
private static String encrypt(String inputText, String algorithmName) {
if (inputText == null || "".equals(inputText.trim())) {
throw new IllegalArgumentException("请输入要加密的内容");
}
if (algorithmName == null || "".equals(algorithmName.trim())) {
algorithmName = "md5";
}
String encryptText = null;
try {
MessageDigest m = MessageDigest.getInstance(algorithmName);
m.update(inputText.getBytes("UTF8"));
byte s[] = m.digest();
// m.digest(inputText.getBytes("UTF8"));
return hex(s);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return encryptText;
}
/**
* 返回十六进制字符串
*
* @param arr
* @return
*/
private static String hex(byte[] arr) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < arr.length; ++i) {
sb.append(Integer.toHexString((arr[i] & 0xFF) | 0x100).substring(1, 3));
}
return sb.toString();
}
}
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* 加密工具类
*
* md5加密出来的长度是32位
*
* sha加密出来的长度是40位
*
*
*/
public class Encrypt {
/**
* 加密
*
* @param inputText
* @return
*/
public static String e(String inputText) {
return md5(inputText);
}
/**
* 二次加密,应该破解不了了吧?
*
* @param inputText
* @return
*/
public static String md5AndSha(String inputText) {
return sha(md5(inputText));
}
/**
* md5加密
*
* @param inputText
* @return
*/
public static String md5(String inputText) {
return encrypt(inputText, "md5");
}
/**
* sha加密
*
* @param inputText
* @return
*/
public static String sha(String inputText) {
return encrypt(inputText, "sha-1");
}
/**
* md5或者sha-1加密
*
* @param inputText
* 要加密的内容
* @param algorithmName
* 加密算法名称:md5或者sha-1,不区分大小写
* @return
*/
private static String encrypt(String inputText, String algorithmName) {
if (inputText == null || "".equals(inputText.trim())) {
throw new IllegalArgumentException("请输入要加密的内容");
}
if (algorithmName == null || "".equals(algorithmName.trim())) {
algorithmName = "md5";
}
String encryptText = null;
try {
MessageDigest m = MessageDigest.getInstance(algorithmName);
m.update(inputText.getBytes("UTF8"));
byte s[] = m.digest();
// m.digest(inputText.getBytes("UTF8"));
return hex(s);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return encryptText;
}
/**
* 返回十六进制字符串
*
* @param arr
* @return
*/
private static String hex(byte[] arr) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < arr.length; ++i) {
sb.append(Integer.toHexString((arr[i] & 0xFF) | 0x100).substring(1, 3));
}
return sb.toString();
}
}
0 0
- md5算法使用方法(写一个md5类如下,调用时只需要Encrypt.e(密码))即可
- 分享:用四十种语言分别写一个MD5算法 之7 E语言MD5算法
- MD5 Encrypt
- MD5 Encrypt...
- String MD5 encrypt
- C#调用MD5算法
- 一个简单的 MD5 加密类 MD5密码加密 MD5数据加密 实例 教程 代码
- 给你一个MD5算法
- 分享:用四十种语言分别写一个MD5算法 之40 Tcl语言MD5算法
- 分享:用四十种语言分别写一个MD5算法 之39 MySQL语言MD5算法
- 分享:用四十种语言分别写一个MD5算法 之38 Ruby语言MD5算法
- 分享:用四十种语言分别写一个MD5算法 之37 RLaB语言MD5算法
- 分享:用四十种语言分别写一个MD5算法 之36 REBOL语言MD5算法
- 分享:用四十种语言分别写一个MD5算法 之35 R语言MD5算法
- 分享:用四十种语言分别写一个MD5算法 之34 Python语言MD5算法
- 分享:用四十种语言分别写一个MD5算法 之33 PureBasic语言MD5算法
- 分享:用四十种语言分别写一个MD5算法 之31 Pike语言MD5算法
- 分享:用四十种语言分别写一个MD5算法 之30 PicoLisp语言MD5算法
- R语言S3、S4方法的定义以及实例化
- Python3爬虫之入门和正则表达式
- 多Kinect高精度骨架数据读取、整合与显示技术转让
- 数据结构--树和二叉树03
- javascript 数组方法属性总结
- md5算法使用方法(写一个md5类如下,调用时只需要Encrypt.e(密码))即可
- HTTP协议
- 居中
- Windows+python安装xgboost(治理windowerror-127)
- 腾讯云配置javaweb开发环境
- spring mvc 框架介绍
- 跳舞毯
- Leetcode Week5
- Log4J的简单使用