您现在的位置是:人工智能 >>正文
密码存明文,谁看了都摇头,你的系统中是怎么存密码的?
人工智能7784人已围观
简介密码是一个 IT 系统中很敏感、很重要的部分,尤其是早期的系统,往往登录一个系统只要一个账号和密码就可以了。很多账号被盗都是因为密码泄露了,密码泄露有很多种可能,比如暴力破解、社工破解。还有一种就是所 ...
密码是密码密码一个 IT 系统中很敏感、很重要的存明部分 ,尤其是都摇早期的系统,往往登录一个系统只要一个账号和密码就可以了。系统
很多账号被盗都是中存因为密码泄露了 ,密码泄露有很多种可能 ,密码密码比如暴力破解、存明社工破解。都摇
还有一种就是系统所谓的拖库 ,也就是源码下载中存数据库数据被攻击者导出了 。这样一来,密码密码如果系统中的存明密码存储过于简单,很容易会被破解 。都摇而一个系统的系统密码被拿到后,往往会被攻击者用来尝试登录其他的中存系统 ,因为很多人用同一个密码在互联网上冲浪 。
早些年就有一些网站被拖库,而数据库中的密码字段竟然是用明文存储,导致大量用户的密码被泄漏。免费模板
图片
那密码如此重要 ,如何存储才能保证密码足够安全呢,即使被拖库也能保证密码不被破解呢?
明文密码打死不能存
首先 ,明文密码是无论如何都不能入库的 ,可能只是互联网早期有这样存的。稍微有点经验的开发者也一定清楚 ,肯定不能存明文密码。
但凡有个安全评测 ,明文密码这件事也不可能发生。
哈希值和弱哈希加密尽量不用
比明文密码好一点的是服务器租用存密码的哈希值,或者一些很简单的加密算法 ,比如MD5、SHA-1。
我记得很早之前自己做系统的时候,不知道从哪儿看来的方法 ,就是把密码直接用 MD5 加密存储的,因为 MD5 是不可逆的,建站模板也就是不能从MD5加密后的结果转换回加密之前的结果 ,所以当时就想当然的认为这是安全的 。
后来,听说 MD5 虽然不可逆 ,但是破解起来也是相对容易的,比如碰撞攻击和彩虹表攻击 ,都有可能将 MD5 解密 。云计算
而且有很多在线工具提供解密 MD5 的功能 。之前接手过一个项目 ,密码就是用 MD5 加密的,然后我随便找一个密码用一个在线工具 ,很快就能解密出来,可见一点儿也不安全。
图片
所以,这种弱加密方式也尽量不要用。
密码加盐才是正解
加盐(Salt)是指在密码哈希之前,向密码中添加一个随机生成的字符串 。高防服务器盐值是唯一的,甚至对于相同的密码,每次生成的哈希值也会不同 。
图片
如上图所示 ,将一个随机的盐(salt)和密码进行哈希运算 hash(password+salt),将算出来的结果存到表中,另外将 salt 值也一并存入 。
在进行密码验证的时候 ,取出当前用户的 salt 和 用户输入的密码 ,通过同样的方式运算hash(password+salt) ,最后将运算结果和已存储的hash值进行比对,如果一致说明密码正确。
图片
这样一来 ,即使有人拿到了数据库中存的 salt 和 hash 也不能获取原始密码 。什么暴力破解 、彩虹表攻击这些手段 ,在加入了 salt 的情况下,都会变得非常复杂,几乎是无法破解的。
如果更严谨一点儿,可以搞两个salthash(password + salt + otherSalt),这样安全性会更高一些。
其中 salt 有两点需要注意一下:
不能太短 ,最好长一些,破解难度很大很多;不能全局用同一个 salt,每一个密码要有一个随机的salt;不用密码更安全
存密码就有风险,现在很多系统都不支持使用账号密码方式登录,而是用更加安全的方式。
比如多因素认证(MFA) ,比如 GitHub 就强制要求使用这种方式,阿里云也提供这种方式。
再比如短信验证码登录,或者使用其他具有公信力的第三方服务登录,比如微信登录、支付宝登录等 。
这些方式没有账号密码,比如短信登录,只有知道手机号,并且能够拿到手机验证码才行。即使有人知道了你的账号 ,但是想拿到你的手机还是很麻烦的吧 。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“算法与编程”。http://www.bzli.cn/html/708d499287.html
相关文章
人工智能的网络威胁有多大?
人工智能从聊天机器人到ChatGPT等大型语言模型,人工智能无处不在。多年来,人工智能和机器学习一直是科技行业的热门话题,软件开发商和大型云供应商竞相将人工智能融入他们的产品中,使他们的产品更加智能,让客户的 ...
【人工智能】
阅读更多昂达VX330的全面评测(从外观到性能,解析昂达VX330的各项特点)
人工智能作为一款备受关注的智能手机,昂达VX330凭借其出色的外观设计和出众的性能表现,在市场上拥有广泛的用户群体。本文将对昂达VX330进行全面评测,从外观、摄像头、屏幕、性能等多个方面来介绍这款手机的特点 ...
【人工智能】
阅读更多everything对搜索结果进行批量修改文件名的方法
人工智能everything是强大的一款搜索软件,很多小伙伴的电脑上都是有安装该软件的,当你需要搜索自己电脑中保存的各种文件的时候,那么就可以在中进行相应的搜索,你可以通过文件名、文件后缀名等进行搜索,还可以 ...
【人工智能】
阅读更多