Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
86 views
in Technique[技术] by (71.8m points)

关于PHP自带的加密函数password_hash

我们都知道默认会使用随机salt来加密,salt和算法会跟哈希一起组装成密文返回,那么问题来了,salt都暴露出来了,那用salt加密的意义何在呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

不是这么理解的

在现有阶段下.salt 主要是增加了原文长度而是的爆破的成本增加,从而放弃对密文的破解.你就算是知道我的 salt,你也不知道我的原文有多长,我是怎么拼接我的原文的.而这样的话,破解的成本基本那都是无穷大的了.

比如 md5(123456),你拿到这个结算出的结果,在那些所谓的 md5 破解的网站上应该是秒破,别人都有这些常规词典.
但是 md5(FknL3g2ZNb2dSYsBR6veh4qzvgSgUUtu.123456),你拿到这个结果,这个极大概率上是破解不错来的.

那些破解网站,基本上都是暴力破解,但是暴力破解的问题,就在于随着原文长度增加,暴力破解理论上的时长会指数级增长.你的 salt 弄长一点的话,基本都是无法暴力破解碰撞出来原文的.况且,你甚至还能通过一些简单的算法,通过salt 对密码进行一次甚至多次混淆.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...