一、密码加盐?
在面对这个网络世界的时候,密码安全总是各个公司和用户都非常关心的一个内容,毕竟现在大家不管是休闲娱乐还是学习购物都是通过网上的帐号来进行消费的,所以我们通常会给用户的密码进行加密。在加密的时候,经常会听到“加盐”这个词,这是什么意思呢?
我们通常会将用户的密码进行 Hash 加密,如果不加盐,即使是两层的 md5 都有可能通过彩虹表的方式进行破译。彩虹表就是在网上搜集的各种字符组合的 Hash 加密结果。而加盐,就是人为的通过一组随机字符与用户原密码的组合形成一个新的字符,从而增加破译的难度。就像做饭一样,加点盐味道会更好。
二、密码未加盐的实例
在几年前 CSDN 的帐号泄露事件中,大家发现作为中文程序员世界最大的网站竟然是明文存储的密码,这就为攻击者提供了一大堆用户的明文常用密码。因为大家都喜欢用同一个用户名和密码注册不同的网站,所以不管其他怎么加盐都是没用的,毕竟原文密码是对的,拿到这样一个网站的数据库中的用户明文密码后,就可以通过这些密码去尝试这些用户在其他网站是不是用了相同的帐号名和密码注册了帐号。所以在日常生活中,我们重要的一些网站帐号、密码尽量还是使用不同的内容,如果记不住的话,可以使用一些带加密能力的记事本软件进行保存,这样会更加安全。而我们程序员,则应该始终都将用户的密码及重要信息进行加密处理,这是一种基本的职业规范。