V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ivanlw
V2EX  ›  问与答

网站的密码应该如何存储比较安全呢?

  •  
  •   ivanlw · 2013-09-01 05:43:25 +08:00 · 3440 次点击
    这是一个创建于 4105 天前的主题,其中的信息可能已经有所发展或是发生改变。
    直接hash吗,还是要再经过什么处理呢?有没有比较通用而且有效的方法?
    第 1 条附言  ·  2013-09-02 08:25:12 +08:00
    搜到一篇不错的文章,把上面提的包含到了~
    https://www.akii.org/save-user-password-use-bcrypt-or-pbkdf2.html
    19 条回复    2016-01-11 23:08:44 +08:00
    Epsil0n9
        1
    Epsil0n9  
       2013-09-01 06:55:44 +08:00
    商业的1Password http://is.gd/oNlKos

    免费的 keepass http://is.gd/fQSBXC
    duhastmich
        2
    duhastmich  
       2013-09-01 06:56:52 +08:00
    加盐再hash,可以用 bcrypt, php5.5 干脆来了个 password_hash
    ivanlw
        3
    ivanlw  
    OP
       2013-09-01 07:10:44 +08:00 via iPhone
    @duhastmich 加盐是什么意思?怎么加?
    duhastmich
        4
    duhastmich  
       2013-09-01 07:27:32 +08:00   ❤️ 2
    @ivanlw 就是密码加上随机产生的字符串再hash,避免不同用户使用同样的密码,产生同样的hash,搜一下你这个语言里的bcrypt库的用法,说不定这一步都帮你做了
    vking
        5
    vking  
       2013-09-01 08:20:26 +08:00 via Android   ❤️ 2
    存在D盘101010. txt的路过
    ligyxy
        6
    ligyxy  
       2013-09-01 08:22:28 +08:00   ❤️ 1
    更安全的办法应该是动态加盐. 可以结合注册时间等无关的变量, 控制盐的变化或者盐插入位置的不同, 如此再hash若干次. 否则盐是可能被猜出来的.
    Perry
        7
    Perry  
       2013-09-01 08:23:05 +08:00 via iPhone
    @duhastmich 想问加salt然后hash(比如SHA2)一次就够了吗?
    jamesxu
        8
    jamesxu  
       2013-09-01 09:50:31 +08:00
    先用truecrypt密码和keyfile加密,再存到dropbox
    loading
        9
    loading  
       2013-09-01 09:51:46 +08:00
    加timestamp当salt再hash两次
    loading
        10
    loading  
       2013-09-01 09:53:23 +08:00
    hash第二次后,破解用彩虹表就没用了吧?毕竟第一次hash结果就太长了点
    Kangqiao
        11
    Kangqiao  
       2013-09-01 10:45:14 +08:00
    回帖前不仔细看帖子真捉急,LZ是问怎么保存用户的密码...
    ivanlw
        12
    ivanlw  
    OP
       2013-09-01 11:38:48 +08:00
    @Kangqiao 同捉急……而且还不止一个=.=
    yaroot
        13
    yaroot  
       2013-09-01 17:28:16 +08:00   ❤️ 1
    简单的回答bcrypt, pbkdf2, scrypt...

    用google啊...这种问题...
    alexrezit
        14
    alexrezit  
       2013-09-01 18:00:36 +08:00
    bcrypt with salt.
    shinwood
        15
    shinwood  
       2013-09-01 18:02:29 +08:00
    md5(md5($password.$salt).$salt) 或者 md5($salt.md5($password.$salt))

    規則自己定,讓彩虹表見鬼去吧。
    KiseXu
        16
    KiseXu  
       2013-09-01 23:07:43 +08:00
    ligyxy
        17
    ligyxy  
       2013-09-02 07:44:53 +08:00
    @KiseXu 不错的网站. 曾经也写过类似的, 感觉这种东西还是要自己写一个, 自己定规则, 好处大大的
    msputup
        18
    msputup  
       2013-09-02 08:06:19 +08:00
    @shinwood 社会工程学无压力。除非你每个账号的密码都是不一样的,但是这种人太少。太少了。
    pythonzh
        19
    pythonzh  
       2016-01-11 23:08:44 +08:00
    即使被拖库,也可以保证密码不泄露 http://blog.coderzh.com/2016/01/10/a-password-security-design-example/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1063 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 21:39 · PVG 05:39 · LAX 13:39 · JFK 16:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.