2012-03-16 53 views

回答

1

Google pbkdf2。在那里有PHP的实现,它是一个完整的密码保护的一站式商店。如果你只是对密码进行哈希处理,然后用它做,md5比sha1稍差,比sha256稍差,但它们都容易受到彩虹表的攻击。确保你至少使用适当的盐析技术,并且确实要做到这一点,你应该使用像pbkdf2这样的算法,其目的是使其在蛮力计算密集型(也有一些默默无闻的,因为它要求攻击者知道你使用的迭代次数,而不仅仅是算法)。

+1

PBKDF2有利于密码保护,但我不能看到提问者是否真的在为此目的而努力。也许他是,也许不是...... – 2012-03-21 01:08:11

1

我建议你使用SHA-2系列。 SHA-2散列函数系列是当前SHA-1的替代品。 SHA-2的成员分别被称为SHA-224,SHA-256,SHA-384和SHA-512。

对于散列,您基本上只想选择可能的最大块大小,并使用盐值来避免彩虹攻击。

如果您需要在应用程序中替换MD5,其中首先使用哈希是一个糟糕的设计选项,其中包括许多与密码配合使用(保护登录信息或从密码生成密钥) ,那么你不想只取代MD5;你想改变设计。