Java实现MD5加密与解密
2017-11-13 21:28
363 查看
我用到的[b]md5是用来做登录注册页面输入密码后,存储加密后的密码到数据库保密用的。觉得简单好用所以放到上面来供大家以前学习使用,这个并不需要导入外部的包喔。[/b]
import java.security.MessageDigest; /** * MD5技术加密解密 */ public class MD5Tools { public static String bytesToHexString(byte[] src) { StringBuilder stringBuilder = new StringBuilder(""); if (src == null || src.length <= 0) { return null; } for (int i = 0; i < src.length; i++) { int v = src[i] & 0xFF; String hv = Integer.toHexString(v); if (hv.length() < 2) { stringBuilder.append(0); } stringBuilder.append(hv); } return stringBuilder.toString(); } /** * 解析 * @param hexString * @return */ public static byte[] hexStringToBytes(String hexString) { if (hexString == null || hexString.equals("")) { return null; } hexString = hexString.toUpperCase(); int length = hexString.length() / 2; char[] hexChars = hexString.toCharArray(); byte[] d = new byte[length]; for (int i = 0; i < length; i++) { int pos = i * 2; d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1])); } return d; } /** * 将指定byte数组以16进制的形式打印到控制台 * @param b */ public static void printHexString(byte[] b) { for (int i = 0; i < b.length; i++) { String hex = Integer.toHexString(b[i] & 0xFF); if (hex.length() == 1) { hex = '0' + hex; } System.out.print(hex.toUpperCase()); } } /** * Convert char to byte * @param c char * @return byte */ private static byte charToByte(char c) { return (byte) "0123456789abcdef".indexOf(c); } /** * 加密 * @param str * @return */ public static String encode(String str) { String strDigest = ""; try { // 此 MessageDigest 类为应用程序提供信息摘要算法的功能,必须用try,catch捕获 MessageDigest md5 = MessageDigest.getInstance("MD5"); byte[] data; data = md5.digest(str.getBytes("utf-8"));// 转换为MD5码 strDigest = bytesToHexString(data); } catch (Exception ex) { throw new RuntimeException(ex); } return strDigest; } }
相关文章推荐
- java 实现md5加密的三种方式与解密
- Java实现MD5加密以及解密
- Java实现MD5加密及解密的代码实例分享
- Java实现DES加密与解密,md5加密以及Java实现MD5加密解密类
- Java实现MD5加密与解密
- java实现DES加密与解密,md5加密
- Java实现MD5加密及解密的代码实例分享
- Java实现MD5加密及解密的代码实例分享
- Java实现MD5加密及解密的代码实例分享
- I/O及网络--MD5加密及Java的实现方式
- java实现字符串非对称加密(私钥加密,公钥解密并对比)
- C#实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密
- Java的MD5加密和解密
- JAVA加解密简单实现
- java实现XML的加密和解密
- java中简单实现MD5加密
- JAVA的MD5加密与解密
- Java实现MD5加密
- Java加密解密简单实现
- Java实现MD5加密