我知道这是一个"过度询问"的话题,Bcrypt但是我对它的安全性有一些担忧.
我一直在使用sha512($password.$salt),然后寻找更好的解决方案,并遇到了Bcrypt.
关注我的是,在阅读它时,它表示rounds($02$)和salt的数量存储在3个单独的'块'中的哈希值中,就像这样,$rounds$.$salt.$hash(或者至少我是如何解释它的).
我的问题是:这不是不安全吗?显示使用的轮次数和明显可用的盐.因为攻击者可以"好吧我需要2轮,盐是123salt,那就是哈希",对吗?
我理解在阅读时,并不是"全部"都是安全的,破解密码需要多长时间,而这是Bcrypt的好处,它很慢.
有人可以澄清我的误解/误解吗?
谢谢.
SLa*_*aks 11
盐点是为了防止攻击者重复使用多个用户的计算.
将它交给攻击者并没有错.
同样地,即使攻击者知道你正在使用多少轮,也不会那么多时间(假设你使用了相当多的轮数).
使用多轮的重点并不是攻击者不会知道要使用多少轮; 这是每轮攻击迫使攻击需要更长时间.