前台 md5(password) => hash1 ----> 后台 md5(hash1 + salt) => hash2 ---> DB
论坛设定一个站点SALT,长度随便,可随便输入,也可由安装程序自动生成。一旦启用就不能更改 前端 sha256(pass + SITESALT) => hash1 --------> 后台 blowfish(hash1 + SALT) => hash2 -----> DB
Blowfish算法是一种取代了DES和IDEA的加密算法。它是一种对称(秘密或个人密钥)的分组密码,使用32位至448位的可变长度密钥,应用于内部加密或加密输出。(美国政府禁止加密输出软件使用40位以上的密钥,除非软件有特殊用途)。Blowfish算法是1993年由Bruce Schneier提出的备选加密方法。32位处理器的诞生后,Blowfish算法在加密速度上超越了DES,引起了人们的关注
我们知道MD5,SHA的算法速度太快了。所以,我们需要一个“慢一点”的加密算法。呵呵。bcrypt是这样的一个算法,因为它很慢,对于计算机来说,其慢得有点BT了,但却慢得刚刚好!对于验证用户口令来说是不慢的,对于穷举用户口令来说,其会让那些计算机变得如同蜗牛一样。 因为bcrypt采用了一系列各种不同的Blowfish加密算法,并引入了一个work factor,这个工作因子可以让你决定这个算法的代价有多大。因为这些,这个算法不会因为计算机CPU处理速度变快了,而导致算法的时间会缩短了。因为,你可以增加work factor来把其性能降下来。呵呵。 那么,bcrypt到底有多慢?如果和MD5一起来比较的话,如果使用值为12的work factor的话,如果加密“cool”的话,bcrypt需要0.3秒,而MD5只需要一微秒(百万分之一秒)。也就是说,前面我们说的那个只需要40秒就可以穷举完所有的可能的MD5编码的口令的算法,在使用bcrypt下,需要12年。 这就是bcrypt给你带来的选择,你可以一个安全的口令和一个快速的加密算法,或是一个不怎么安全的口令和一个性能不好的加密算法。 http://coolshell.cn/articles/2078.html
使用道具 举报
枯心树 发表于 2012-10-8 22:06 有技术的说dx 的密码是双重加密的。。破解不了的?
mark35 发表于 2012-10-8 22:17 前端js md5一次,后端php掺盐md5一次,这种双重处理没说破解不了的~
枯心树 发表于 2012-10-8 22:18 如果mysql不小心被人端了。。。那可以破解那些密码不?
枯心树 发表于 2012-10-8 22:23 blowfish 这个东西或者php5.3这个普及问题倒不怕。。只要程序支持blowfish,并且提供一个开关。那么我相信, ...
mark35 发表于 2012-10-8 22:28 绝大多数站长都是饭来张口的,如果程序提供了强加密方式,没说不会用的。除非环境不支持
枯心树 发表于 2012-10-8 22:31 环境可以解决或者可以逐步解决的。。好比当年伪静态也需要环境支持一样。。开始也没有几家虚拟主机支持。 ...
mark35 发表于 2012-10-8 22:35 这倒是,需求决定市场 其实php5.3的要求不算高。虽然CentOS5默认版本是5.1,但YUM有 php53可以安装的。如 ...
本版积分规则 发表回复 回帖后跳转到最后一页
手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )
GMT+8, 2025-8-30 05:50 , Processed in 0.100897 second(s), 17 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2023, Tencent Cloud.