引用第2楼婺源寻芳于2011-12-28 19:07发表的 :
一般设计原则不是让倒推密码困难(基本必须不可能),而是让verify花时间。
我的反而是让计算花了时间。但——这样至少避免了制作大量的字典的可能——而且如果让验证花时间多,对负载大的服务器的影响又是如何呢?
我的设计思想是让穷举破解我那个方程:
SHA1(padding+X)=X[0:5]+checkstr
时浪费时间。因为X的选取修改了SHA1给出的解。如果想要让方程右侧保持不变,X至少是5位十六进制字符串。此时方程右面为(偷窥者自己定出的常数),需要产生一个碰撞的话,方程左面相当于给定salt(=padding)碰撞SHA1。