Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跨2个不同sql表的唯一哈希值_Sql_Database_Security_Hash_Passwords - Fatal编程技术网

跨2个不同sql表的唯一哈希值

跨2个不同sql表的唯一哈希值,sql,database,security,hash,passwords,Sql,Database,Security,Hash,Passwords,我想存储一个带有随机salt的散列密码。哈希值在两个不同的sql表中应该是唯一的 salt由随机字符和数字组成,密码和登录中不允许使用斜杠 为了确保唯一性,我想附加一个分隔符和唯一的登录名 示例(伪代码): 这样做是为了避免在两个不同的表中搜索唯一的随机盐 如果这样构建存储的散列,安全性会降低吗 在我看来,您似乎没有使用正确类型的“散列”函数来“散列”您的密码,因为如果您使用了,那么您就不需要问这个问题 普通散列函数(如SHA系列)不适合保护密码。问题是它们的计算速度太快,这意味着密码可以被强制

我想存储一个带有随机salt的散列密码。哈希值在两个不同的sql表中应该是唯一的

salt由随机字符和数字组成,密码和登录中不允许使用斜杠

为了确保唯一性,我想附加一个分隔符和唯一的登录名

示例(伪代码):

这样做是为了避免在两个不同的表中搜索唯一的随机盐


如果这样构建存储的散列,安全性会降低吗

在我看来,您似乎没有使用正确类型的“散列”函数来“散列”您的密码,因为如果您使用了,那么您就不需要问这个问题

普通散列函数(如SHA系列)不适合保护密码。问题是它们的计算速度太快,这意味着密码可以被强制使用。有关更多信息,请阅读

您应该使用的是这样一个函数(如果不可用,至少使用),它将salt和密码作为单独的参数作为输入,并输出存储在数据库中的“散列”


我将代表加密和安全社区为这个词令人困惑的用法道歉。不幸的是,它看起来不会很快被修复。

仅仅使用散列函数是不够的,仅仅添加一个salt并不能提高安全性。取而代之的是,在HMAC上随机添加盐,持续约100毫秒,并将盐与散列一起保存。使用诸如
PBKDF2
Rfc2898DeriveBytes
password\u hash
Bcrypt
等函数和类似函数。重点是让攻击者花费大量时间通过暴力手段查找密码。感谢您提供的伟大链接(),在阅读(并理解)文本后,我可能会回来澄清我的问题。
 hash(salt + password + “/” + login)