golang日記

来源:互联网 发布:黄磊i知乎 编辑:程序博客网 时间:2024/05/21 09:42

Web Development w/ Google’s Go (golang) Programming language 的067-Encrypt-Password-With-Bcrypt
https://www.udemy.com/go-programming-language/learn/v4/content

在上这节课的时候, 很好奇为什么密码要加密, 就上网搜了下, 搜到这篇文章
为什么要在密码里加点“盐”, 上面有这么一段话

主要的关键字段就是这么两个,一个是登陆时的用户名,对应的一个密码,而且那个时候的用户名是明文存储的,如果你登陆时用户名是 123,那么数据库里存的就是 123。这种设计思路非常简单,但是缺陷也非常明显,数据库一旦泄露,那么所有用户名和密码都会泄露,后果非常严重。参见 《CSDN 详解 600 万用户密码泄露始末》。

感觉挺新鲜.

课上的例子所用到的是 golang.org/x/crypto/bcrypt
在Google上搜到相关wiki资料,https://en.wikipedia.org/wiki/Bcrypt, 不过不大容易看.

MD5+salt 和 bcrypt的比较, 参考
http://www.cnblogs.com/lixiong/archive/2011/12/24/2300098.html
http://stackoverflow.com/questions/34813483/how-is-bcrypt-better-than-md5-salt