一个简单的MD5加盐
虽然都说MD5加密一下密码比较好,但是如果密码过于简单,比如123456,经过MD5加密之后还是不安全,因为别有用心的人可以使用彩虹表来撞库得到密码。因此为了加大破解难度,需要给MD5算法加盐。下面是一个简单的加盐算法。
当然,我不是说加了盐就一劳永逸了,下面的代码也不安全,这样做只是为了加大破解的难度。
当然,我不是说加了盐就一劳永逸了,下面的代码也不安全,这样做只是为了加大破解的难度。
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * MD5加密工具类 */ public class Md5EncryptionHelper { /** * 获取MD5字符串 */ public static String getMD5(String content) { try { MessageDigest digest = MessageDigest.getInstance("MD5"); digest.update(content.getBytes()); return getHashString(digest); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return null; } private static final String SALT = "0fdfa5e5a88bebae640a5d88e7c84708"; /** * 获取加盐的MD5字符串 */ public static String getMD5WithSalt(String content) { return getMD5(getMD5(content) + SALT); } private static String getHashString(MessageDigest digest) { StringBuilder builder = new StringBuilder(); for (byte b : digest.digest()) { builder.append(Integer.toHexString((b >> 4) & 0xf)); builder.append(Integer.toHexString(b & 0xf)); } return builder.toString(); } }
参考:
https://www.jianshu.com/p/df70661da2d5