我一直在用java开发登录系统。我目前让程序先做一些小的自定义加密,然后使用 JBCrypt 加密/哈希,然后使用 php 检查数据库中是否有匹配的哈希。但是,问题在于,当使用 gensalt(n) 时,您每次都会得到一个随机盐,因此,计算的哈希永远不会与存储的哈希匹配。有没有一种好方法来约束盐,使其每次都散列相同?或者,在从数据库进行哈希处理之前检索我的加密密码,然后使用 java 检查该哈希值是否安全?
答案其实很简单。将盐或预盐存储在数据库中,并在需要时检索。