Java实现MD5加密及解密的代码实例分享

您所在的位置:网站首页 纯lua实现md5加密和解密 Java实现MD5加密及解密的代码实例分享

Java实现MD5加密及解密的代码实例分享

2023-08-04 04:47| 来源: 网络整理| 查看: 265

原文地址:http://www.jb51.net/article/86027.htm 

如果对安全性的需求不是太高,MD5仍是使用非常方便和普及的加密方式,比如Java中自带的MessageDigest类就提供了支持,这里就为大家带来Java实现MD5加密及解密的代码实例分享:  基础:MessageDigest类的使用  其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣:

/** * 对字符串md5加密 * * @param str * @return */ import java.security.MessageDigest; public static String getMD5(String str) { try { // 生成一个MD5加密计算摘要 MessageDigest md = MessageDigest.getInstance("MD5"); // 计算md5函数 md.update(str.getBytes()); // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符 // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 return new BigInteger(1, md.digest()).toString(16); } catch (Exception e) { throw new SpeedException("MD5加密出现错误"); } }

进阶:加密及解密类  Java实现MD5加密以及解密类,附带测试类,具体见代码。  MD5加密解密类——MyMD5Util,代码如下

package md5test; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.Arrays; public class MyMD5Util { private static final String HEX_NUMS_STR="0123456789ABCDEF"; private static final Integer SALT_LENGTH = 12; /** * 将16进制字符串转换成字节数组 * @param hex * @return */ public static byte[] hexStringToByte(String hex) { int len = (hex.length() / 2); byte[] result = new byte[len]; char[] hexChars = hex.toCharArray(); for (int i = 0; i < len; i++) { int pos = i * 2; result[i] = (byte) (HEX_NUMS_STR.indexOf(hexChars[pos])


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3