|  |      1shoaly      2015-09-25 15:09:30 +08:00 md5 加盐 会有什么问题?  求科普 | 
|  |      2zhicheng      2015-09-25 15:35:04 +08:00 | 
|  |      3abcdabcd987 OP @shoaly 感觉一般来说,如果密码泄漏了,盐一般是跟着泄漏的。 md5/sha1 的问题在于,算起来太快了,在 GPU 上跑得飞快,所以不是很安全。 | 
|  |      4tabris17      2015-09-25 15:41:20 +08:00 PHP 不是已经出了专门的加盐 hash 的慢算法么,我用 PHP 我不操心 | 
|  |      5tianrunlin      2015-09-25 16:51:01 +08:00 被黑的可能性=网站价值 /加密算法复杂度 网站价值太低,没有人关心的 | 
|  |      6hack      2015-09-25 16:57:24 +08:00 我是 cmd5 付费解不开直接改 code 记录下账号密码还有 cookie ,管你们用啥加密算法,都要黑你了,就不会在乎你怎么处理密码~ 金融类的坐呼不服老子现上加密机,什么钱钱钱,买买买啊 | 
|  |      7orFish      2015-09-25 16:59:58 +08:00 @tianrunlin 最近泄露的很多都不小了哦 | 
|  |      8zouxcs      2015-09-25 17:34:29 +08:00  1 @zhicheng 不要使用第三方服务存储密码,比如 iCloud ,比如 1Password 。 推荐使用 PasswordSafe 管理密码。呵...呵... | 
|  |      10wy315700      2015-09-25 18:06:19 +08:00 scrypt | 
|      11colatin      2015-09-25 18:07:21 +08:00 见过用对称加密保存密码的吗? | 
|  |      13sivacohan PRO bcrypt | 
|  |      14pein      2015-09-25 21:17:41 +08:00 突然想到,根本不用搞这么复杂的,直接延迟返回验证结果就行了,比如延迟个 0.5s ,用户也感觉不到。 GPU 虽然算得快,但他不知道哪个是正确的,还是得一个个验证, 10 亿个结果你慢慢验证哈。。。 | 
|  |      16loading      2015-09-25 21:28:16 +08:00 via Android @abcdabcd987 一般不会用爆破来取得密码,成本太高,除非是针对特定用户。 | 
|      18jhdxr      2015-09-25 21:50:37 +08:00 | 
|  |      19frittle      2015-09-25 21:51:07 +08:00 通常用 bcrypt 。 读过这个帖子,回帖值得参考。 http://security.stackexchange.com/questions/211/how-to-securely-hash-passwords 另外 Password Hashing Competition 的评选结果也出来了,有兴趣可以看看。 https://password-hashing.net/candidates.html | 
|  |      20fantasticfears      2015-09-25 21:52:02 +08:00 前三个方法全部都是对安全和密码学没什么了解的时候的写法。只是现在大家都知道要用安全的方法存密码。 安全,该做到的就都要做到,少了一个都会出事。 | 
|  |      22likexian      2015-09-25 21:54:50 +08:00 密码是 123456 ,算法再叼也没用,存得好还要防用户,安全无处不在。 | 
|  |      23pein      2015-09-25 22:12:42 +08:00 @loading 不好意思,跑题了。那还是 bcrypt 吧, laravel (一个 php 框架)现在默认自带的加密就是 bcrypt | 
|  |      24ruchee      2015-09-26 08:44:09 +08:00 password_hash | 
|  |      25zapper      2015-09-26 12:29:02 +08:00 via iPhone 如果同时知道了密文密码和加密方式,可以反向解密出明文吗?求科普... | 
|  |      26abcdabcd987 OP  1 @zapper 加密的东西是一定要能解密的 但是保存密码的时候我们并不是加密 而是利用某些不可逆的摘要算法 计算出一个 hash 值 如果两个不同的输入得到了同样的 hash 值 那么两个密码都可以登入 回到你的问题 对于密码 hash 来说 一般选择不可逆的 hash 所以是不可能知道原文的 因为理论上原文有无穷多个 那密码的破解是怎么回事呢 前面说到只要 hash 值一样就认为密码正确 所以破解的方法就是穷举原文 直到找到一个 hash 值相同的 | 
|  |      27shepherd      2015-09-26 17:16:49 +08:00 via Android 不行就 4096 次 bcrypt |