|
|
1
58
MD5 在1996年被发现虚弱,并且 should not be used anymore 用于加密目的。 SHA-1 是常用的替代品,但 has similar problems . 这个 SHA-2 family 哈希函数的 replacement SHA-1。sha-2的成员分别称为sha-224、sha-256、sha-384和sha-512。 目前,有几个哈希函数 are competing to become SHA-3 下一个标准化的密码散列算法。2012年将选出一名获胜者。这些都不应该使用! 用于密码哈希 ,您也可以考虑使用 bcrypt . 它设计得足够慢,使得大规模的蛮力攻击不可行。你可以自己调整慢度,这样当电脑变快时,慢度就会变慢。 警告: Bcrypt是基于一种旧的双向加密算法Blowfish,目前已有更好的替代方案。我不认为BCrypt的加密散列属性被完全理解。如果我错了,有人会纠正我;我从来没有找到从加密角度讨论bcrypt属性(除了其缓慢性)的可靠源。 密码散列与公钥加密或数字签名相比,碰撞风险对密码散列的影响要小一些,这或许让人安心。今天使用MD5是 terrible idea 对于ssl,但对于密码散列来说不一样是灾难性的。但是如果你有选择的话,就选一个更强壮的。 使用好的哈希函数是 not enough 以保护您的密码。你应该把密码和 salts 很长,而且 cryptographically random . 如果可能的话,您还应该帮助用户选择更强大的密码或传递短语。越长越好。 |
|
|
2
10
|
|
|
3
6
为了提高密码强度,您应该使用各种各样的符号。如果密码中有8-10个字符,就很难破解。虽然让它变长会使它更安全,但只有使用数字/字母/其他字符。 sha1是另一种哈希(单向加密)算法,它速度较慢,但具有更长的摘要。(编码消息)(160位),其中MD5只有128位。 然后,sha2更安全,但使用更少。 |
|
|
4
3
加盐密码总是一个额外的防御级别
|
|
|
5
3
RSA加密是安全的,因为它依赖于 坚硬的 影响因素。最终,计算机将以足够快的速度在合理的时间内计算出这个数字。为了保持在曲线的前面,需要使用更大的数字。 然而,对于大多数网站,哈希密码的目的是使其 不方便 对于有权限读取数据库密码的人,不提供安全性。为此,MD5可以 一 . 这里的含义是,如果恶意用户获得了对整个数据库的访问权,他们不需要密码。(前门的锁阻止不了我进窗户。) 一 仅仅因为MD5是“坏的”,并不意味着你可以随时逆转它。 |
|
|
6
1
除了作为一个加密安全的单向函数,一个好的密码保护散列函数应该很难暴力-即缓慢的设计。 scrypt 是那个地区最好的之一。从主页:
也就是说,从常用的散列函数中,对sha家族的任何东西进行几千次迭代都是非常合理的非关键密码保护。 此外,总是添加一个盐,使它不可能共享的努力,野蛮强迫许多哈希一次。 |
|
7
0
NIST目前正在进行一项竞赛,以选择一种新的哈希算法,就像他们选择AES加密算法一样。所以这个问题的答案可能会在几年内有所不同。 你可以查阅提交的资料,自己研究一下,看看是否有你想用的资料。 |
|
|
Crass · Java和JavaScript中不同的md5哈希结果 8 年前 |
|
|
ebann · 在大文件上同时计算MD5和SHA1 8 年前 |
|
|
mchiappinam · 将sha512转换为md5 9 年前 |
|
|
lucacerone · 将md5哈希转换为R中的bigint 10 年前 |
|
|
cgajardo · SQL Server中的MD5索引 10 年前 |
|
|
Vlad Pandichi · 从数据库读取MD5哈希以允许用户登录 10 年前 |