beego 如何把密码加密后存储 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
richzhu
V2EX    Go 编程语言

beego 如何把密码加密后存储

  •  
  •   richzhu 2019-06-12 18:34:06 +08:00 4554 次点击
    这是一个创建于 2322 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大佬们好,正在学 golang,打算用 beego 开发一个简单的小网站练手,但是在用户登录功能处犯了难 用户表设计如下图..

    img

    这样存储密码,在数据库中是明文的,感觉酱紫不是很好,请问 beego 有没有现成的库可以在数据库中密文存储密码的,或者大佬们可以给个思路,让我密文存储后,还可以让用户进行常规登录。

    我目前能想到的就是密码先 md5 一下再存储到数据库,用户登录的时候再把用户 post 过来的给 md5 一下去与数据库中的比对,如果一样,就代表正确,但是总感觉我个菜鸟想出的方法不好,还有就是 md5 好像不太安全,网上免费暴力破解 md5 的网站太多了,求教有没有什么办法更安全,避免很容易就被破解之类的高端手法~

    先谢过各位 go 前辈~ 坐等回复

    6 条回复    2019-06-13 09:18:00 +08:00
    labulaka
        1
    labulaka  
       2019-06-12 18:50:10 +08:00 via Android   1
    试试 bcrypt 这个库?

    bcrypt.GenerateFromPassword
    bcrypt.CompareHashAndPassword
    ps:发不了链接
    Comdex
        2
    Comdex  
       2019-06-12 20:38:27 +08:00 via Android   1
    用 bcrypt
    Pythondr
        3
    Pythondr  
       2019-06-12 20:41:31 +08:00   1
    mononite
        4
    mononite  
       2019-06-12 23:15:19 +08:00
    比 bcrypt 更安全的是 scrypt,https://godoc.org/golang.org/x/crypto/scrypt,可以抵抗 ASIC 和 GPU 的攻击。
    1800x
        5
    1800x  
       2019-06-13 07:19:40 +08:00 via Android
    单纯用摘要确实很容易破解
    有专门逆向摘要的网站,提供摘要和算法,简单的摘要都能逆向出来。其逆向机制也很简单,把所有简单密码的摘要存起来,然后去查……
    我的解决办法是这样的:
    既然密码简单,那就让它变复杂
    将密码加上一些固定的参数,加上特殊符号,再计算摘要,摘要值长度一样,但不怕脱裤了!
    比如下面的 userid:password@orgid
    如果 id 是 uuid 更好

    最后劝楼主早日醒悟
    web 框架绝对不能解决你的所有问题
    既然你选择了 go,就该扔掉 mvc 框架
    xmai
        6
    xmai  
       2019-06-13 09:18:00 +08:00
    [简单处理] “加盐”的方式来存储密码,先将用户输入的密码进行一次 MD5 (或其它哈希算法)加密;将得到的 MD5 值前后加上一些随机串,再进行一次 MD5 加密。这个随机串中可以包括某些固定的串,也可以包括用户名(用来保证每个用户加密使用的密钥都不一样)。
    [高级处理] 用库 https://godoc.org/golang.org/x/crypto/scrypt

    beego 有一份[Build web application with Golang]( https://astaxie.gitbooks.io/build-web-application-with-golang/content/zh/09.5.html) 里 <存储密码> 这章节提到。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1231 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:26 PVG 01:26 LAX 10:26 JFK 13:26
    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