- 实际开发过程中,密码不会保存明文形式,容易被别人窃取。
- MD5加密是不可逆的加密算法,只能由明文转换成密文。
- 但是有些人通过将明文对应的密文保存在数据库中,进行查询破解密文。为防止这种解密,根据许多对密码进行多次加密,来保证密码的安全。
//MD5加密不可逆 public class MD5Utils { /*对密码进行加密 *参数:密码 *返回:密文 */ public static String digest(String password) { try { MessageDigest digest = MessageDigest.getInstance("MD5"); byte[] bytes = digest.digest(password.getBytes()); StringBuilder sb = new StringBuilder(); for (byte b : bytes) { int c = b & 0xff; //负数转换成正数 String result = Integer.toHexString(c); //把十进制的数转换成十六进制的书 if(result.length()<2){ sb.append(0); //让十六进制全部都是两位数 } sb.append(result); } return sb.toString(); //返回加密后的密文 } catch (Exception ex) { ex.printStackTrace(); return ""; } } }