【发布时间】:2020-07-09 14:51:15
【问题描述】:
所以我试图将我的原始密码与加盐的密码进行比较。我知道如何比较哈希密码,我将原始密码添加到它并且它可以工作。但是,我不知道如何比较盐。
public static String saltPassword(String password) throws NoSuchAlgorithmException{
String salt = getSalt();
return password + salt;
}
public static String getSalt(){
Random r = new SecureRandom();
byte[] saltBytes = new byte[32];
r.nextBytes(saltBytes);
return Base64.getEncoder().encodeToString(saltBytes);
}
我需要做什么才能将原始密码与此进行比较?
这就是我的任务所说的, “将生成的密码与存储的盐和散列密码进行比较”。
【问题讨论】:
-
答案是你不知道。你把密码和盐放在一起。然后你散列。然后您将 >>the hash
-
按什么顺序执行此操作是否重要。我正在尝试类似的操作,但我先对密码进行哈希处理,然后再添加盐
-
以及我如何使用与以前相同的盐,因为它每次都是随机的
-
看我的回答。您(通常)将盐与原始密码的哈希一起存储。
标签: java security servlets cryptography salt