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