关于网站注册登录模块 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zxCoder
V2EX    站长

关于网站注册登录模块

  •  
  •   zxCoder 2020-09-20 11:02:23 +08:00 3014 次点击
    这是一个创建于 1921 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个安全的注册登录功能是怎么做的,以前自己写项目就是明文传输用户名和密码,然后再计算 md5,再和数据库的 md5 比较。

    想请教一个比较正规安全的注册登录流程是怎么做的?
    9 条回复    2020-09-20 17:58:16 +08:00
    HAWCat
        1
    HAWCat  
       2020-09-20 11:24:45 +08:00 via Android
    先查查 OAuth2 和 JWT
    Rxianbei
        2
    Rxianbei  
       2020-09-20 11:31:24 +08:00 via Android
    一般的注册功能就是你那么写的,最多传输层加个 https
    lhx2008
        3
    lhx2008  
       2020-09-20 11:36:40 +08:00
    https+明文没问题,md5 安全性比较差,换个好点的算法就可以
    pastgift
        4
    pastgift  
       2020-09-20 12:31:03 +08:00 via iPhone
    就是这么写的
    另外 https 要有,md5 可以换 sha1 之类的
    另外哈希前要加盐,类似 sha1(id+密码)
    heiheidewo
        5
    heiheidewo  
       2020-09-20 12:45:00 +08:00
    先在前端 hash 后,再通过 https 传到后台比较好吧
    rogwan
        6
    rogwan  
       2020-09-20 14:01:00 +08:00 via iPhone
    用框架,不要自己手撸。框架的密码哈希安全性经过无数人验证过,比自己强撸的漏洞少的多。
    chihiro2014
        7
    chihiro2014  
       2020-09-20 15:15:20 +08:00
    Spring Security 的 Bcrypt 不挺现成的么
    Tloudalo
        8
    Tloudalo  
       2020-09-20 15:35:25 +08:00
    使用慢哈希函数如 PBKDF2 、bcrypt 等来存储密码

    另外,owasp 大法好
    Password: https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html

    Authentication: https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html
    abc612008
        9
    abc612008  
       2020-09-20 17:58:16 +08:00
    2020 年了怎么还用人用 md5,sha1 来 hash 密码。这就是为啥我不敢在小网站用重要密码,指不定哪个就明文或者 md5 。
    正确做法是用 bcrypt,argon2d 这种专门用来 hash 密码的哈希。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5711 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 01:46 PVG 09:46 LAX 17:46 JFK 20:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86