package com.gkhy.safePlatform.account.utils; import com.google.common.base.Charsets; import com.google.common.hash.Hashing; import java.util.Random; /** * @Description: 密码 盐 生成 * @date 2022/6/21 18:51 */ public class PasswordUtil { /** * @Description: 编码加密 */ public static String SHA256Encode(String content) { return Hashing.sha256().newHasher().putString(content, Charsets.UTF_8).hash().toString(); } /** * @Description: 密码判断 参数密码, 盐 和数据库密码 */ public static boolean match(String paramPassword, String salt, String dbPassword) { String makePassword = makePassword(paramPassword, salt); return dbPassword.equals(makePassword); } /** * @Description: 密码生成 */ public static String makePassword(String paramPassword, String salt) { String firstResult = SHA256Encode(paramPassword); return SHA256Encode(firstResult + salt); } /** * @Description: 盐生成 */ public static String makeSalt() { Random random = new Random(); long l = random.nextInt(10) + System.nanoTime() + random.nextInt(10); return SHA256Encode(l + ""); } public static void main(String[] args) { String r1 = SHA256Encode("r"); String r = makePassword("123", r1); System.out.println(r1); System.out.println(r); } }