Java中加密工具类
来源:互联网 发布:excel2007删除重复数据 编辑:程序博客网 时间:2024/05/06 13:24
package com.hyphen.util;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* @ClassName: test1
* @Description: TODO(这里用一句话描述这个类的作用)
* @author wusong
* @date 2014-9-2 下午12:56:11
*
*/
public class EncryptUtil {
public static void main(String[] args) {
//md5加密测试
String md5_1 = md5("123");
String md5_2 = md5("abc");
System.out.println(md5_1 + "\n" + md5_2);
System.out.println("md5 length: " + md5_1.length());
//sha加密测试
String sha_1 = sha("123");
String sha_2 = sha("abc");
System.out.println(sha_1 + "\n" + sha_2);
System.out.println("sha length: " + sha_1.length());
}
// md5加密
public static String md5(String inputText) {
return encrypt(inputText, "md5");
}
// sha加密
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;
}
// 返回十六进制字符串
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;
/**
* @ClassName: test1
* @Description: TODO(这里用一句话描述这个类的作用)
* @author wusong
* @date 2014-9-2 下午12:56:11
*
*/
public class EncryptUtil {
public static void main(String[] args) {
//md5加密测试
String md5_1 = md5("123");
String md5_2 = md5("abc");
System.out.println(md5_1 + "\n" + md5_2);
System.out.println("md5 length: " + md5_1.length());
//sha加密测试
String sha_1 = sha("123");
String sha_2 = sha("abc");
System.out.println(sha_1 + "\n" + sha_2);
System.out.println("sha length: " + sha_1.length());
}
// md5加密
public static String md5(String inputText) {
return encrypt(inputText, "md5");
}
// sha加密
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;
}
// 返回十六进制字符串
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
- Java中加密工具类
- java中MD5加密工具类
- Java中md5加密工具类
- java 加密工具类
- Java加密工具类
- java加密工具类
- java加密工具类
- java MD5加密工具类
- 工具类:加密(java)
- java Md5加密工具类
- java 加密解密工具类
- MD5加密Java工具类
- java加密解密工具类
- MD5加密Java工具类
- java加密解密工具类
- 【java工具类】DES加密
- 【java工具类】MD5加密
- Java MD5 加密工具类
- 做智能硬件为何逃不脱跳票魔咒?
- Servlet学习笔记(六):Cookie
- 美国院线是怎么盈利与运行的?真靠卖爆米花吗?
- interceptor拦截器权限的控制
- 如何成为一名黑客 How To Become A Hacker
- Java中加密工具类
- 利用Java实现压缩与解压缩(zip、gzip)支持中文路径
- Servlet学习笔记(七):Session详解
- Servlet学习笔记(八):过滤器Filter详解
- 有用资源下载地址
- linux远程登录服务器和上传文件
- 利用QrCodeNet 动态生成二维码
- 【LeetCode题目记录-13】二分搜索排序后的二维数组
- git学习日记