MD5加密
来源:互联网 发布:淘宝搜索排名优化 编辑:程序博客网 时间:2024/05/20 12:48
import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * MD5加密工具类 * */public final class MD5Util {/** * MD5加密方法 */public static String Md5Encrypt(String source) {StringBuilder res = new StringBuilder();try {MessageDigest md = MessageDigest.getInstance("MD5");md.update(source.getBytes());byte[] md5Bytes = md.digest();for (int i = 0; i < md5Bytes.length; i++) {int t = md5Bytes[i] & 0xff;if (t <= 0xf) {res.append("0");}res.append(Integer.toHexString(t));}} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return res.toString();}public static String buildStr(Object[] values) {StringBuffer strBuf = new StringBuffer();if (values != null) {int size = values.length;for (int i = 0; i < size; i++) {strBuf.append(values[i]);}}return strBuf.toString().toLowerCase();}public static String getEncoding(String str) {String encode = "GB2312";try {if (str.equals(new String(str.getBytes(encode), encode))) {String s = encode;return s;}} catch (Exception exception) {}encode = "ISO-8859-1";try {if (str.equals(new String(str.getBytes(encode), encode))) {String s1 = encode;return s1;}} catch (Exception exception1) {}encode = "UTF-8";try {if (str.equals(new String(str.getBytes(encode), encode))) {String s2 = encode;return s2;}} catch (Exception exception2) {}encode = "GBK";try {if (str.equals(new String(str.getBytes(encode), encode))) {String s3 = encode;return s3;}} catch (Exception exception3) {}return "";}public static void main(String[] args) throws Exception {String a = "e10adc3949ba59abbe56e057f20f883e";System.out.println(Md5Encrypt("123456"));System.out.println(Md5Encrypt("123456").equals(a));}}
private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5','6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };/** * Takes the raw bytes from the digest and formats them correct. * * @param bytes * the raw bytes from the digest. * @return the formatted bytes. */private static String getFormattedText(byte[] bytes) {int len = bytes.length;StringBuilder buf = new StringBuilder(len * 2);// 把密文转换成十六进制的字符串形式for (int j = 0; j < len; j++) { buf.append(HEX_DIGITS[(bytes[j] >> 4) & 0x0f]);buf.append(HEX_DIGITS[bytes[j] & 0x0f]);}return buf.toString();}public static final String encode(String str){if (str == null) {return null;}try {MessageDigest messageDigest = MessageDigest.getInstance("SHA1");messageDigest.update(str.getBytes());return getFormattedText(messageDigest.digest());} catch (Exception e) {throw new RuntimeException(e);}}public static void main(String[] args) {String a="9fe2839c7d19fe2511ef5cc3d63bd475b139fc83";System.out.println(encode("12356").equals(a));}
0 0
- MD5加密
- MD5加密
- md5加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- md5 加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- 深入学习Make命令和Makefile(下)(3)
- 【cpc】众多因素致黄金暂企稳,美初请将再次光临
- 如何快速开发一个智能聊天机器人
- 求职中我们的主要困惑!
- 一系列MFC操作文件实例(中)
- MD5加密
- How to add Oracle JDBC driver in your Maven local repository
- 使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: XXXX 解决方法
- HTML5将在未来扮演一个必不可少的角
- android listview 滚动时异步加载图片的问题
- cpc专家:可以对股市说拜拜 黄金比较安全
- 网络营销要赢得销售必须先赢得消费者
- Java桌面程序jar打包成exe可执行文件
- C语言高效编程的四大秘技之使用位操作,减少除法和取模的运算