您现在的位置是:人工智能 >>正文
为什么要给密码加盐?你知道吗?
人工智能33人已围观
简介使用“盐”来增强哈希是密码存储中的重要安全措施,能够防止彩虹表攻击,并使暴力破解更加困难。01 什么是“盐”?盐Salt) 是一段随机生成的数据,用于与密码一起进行哈希计算,以确保即使用户的密码相同, ...
使用“盐”来增强哈希是码加密码存储中的重要安全措施,能够防止彩虹表攻击 ,盐知并使暴力破解更加困难 。码加
01 什么是盐知“盐” ?
盐(Salt) 是一段随机生成的数据 ,用于与密码一起进行哈希计算 ,码加以确保即使用户的盐知密码相同,存储在数据库中的码加哈希值也不同 。
通过为每个用户生成唯一的盐知盐 ,可以有效防止攻击者使用预计算的服务器租用码加彩虹表(即一张已经计算好常用密码和对应哈希值的表)来破解密码。
图片
02 为什么需要“盐” ?盐知
如果不使用盐,多个用户的码加相同密码会生成相同的哈希值。这样 ,盐知一旦攻击者拿到数据库 ,码加他可以轻松找到哪些用户的盐知密码相同,甚至使用预先计算的码加哈希值表来快速破解常见的密码 。
例如,假设两个用户都使用了简单的密码“password123” 。模板下载没有盐的情况下 ,它们的哈希值是相同的 。攻击者可以通过查找这个哈希值来立即破解密码。加入盐之后,即使密码相同 ,生成的哈希值也会不同 ,从而提高安全性 。
03 如何生成和使用“盐”?
以下是使用“盐”进行哈希计算的完整流程 :
步骤1:生成随机盐
盐必须是随机生成的高防服务器 ,且应该使用加密安全的伪随机数生成器(如 SecureRandom)来确保其难以预测。
盐值的长度应至少为 16 字节,以确保足够的随机性和安全性。
步骤2 :将盐与密码结合
将生成的盐值与用户输入的密码进行拼接(一般是将盐值加在密码的前面或后面)。
步骤3:对盐化后的密码进行哈希处理
使用合适的哈希算法(如 bcrypt、Argon2、免费模板scrypt)对“盐化”后的密码进行哈希处理 。
步骤4:将盐与哈希值一起存储
将生成的盐值与哈希值一起存储在数据库中。通常盐值可以公开存储 ,因为它并不需要加密。
04 如何验证密码?
验证用户登录时,过程如下:
提取存储的盐值 和哈希值 。使用同样的盐值与用户输入的密码进行拼接。重新哈希组合后的密码,并与存储的哈希值进行比对。云计算05 其他保证密码安全的措施
除了给密码加盐外 ,以下列出一些常用的保证密码安全的方案:
定期更新密码存储方案 密码哈希算法的强度可能随时间推移而变弱。当算法或参数需要更新时,逐步迁移用户的哈希密码。例如 ,在用户下次登录时用新的算法重新哈希密码 。保护数据库和系统本身 严格控制对数据库的访问权限 ,确保只有经过授权的人员或系统能够访问 。香港云服务器定期检查和修复系统漏洞 ,保证系统环境的安全性 。启用双因素认证(2FA) 即使密码被泄露,启用双因素认证也能大幅提高安全性。攻击者需要额外的信息(如短信验证码或硬件令牌)才能访问账户 。Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“算法与编程”。http://www.bzli.cn/html/945d399051.html
相关文章
企业如何建立强大的内部威胁程序
人工智能Imperva公司最近发布的一份调查报告发现,只有18%的优先支出用于专门的内部威胁计划(ITP),而25%的支出则专注于外部威胁情报。企业需要担心的不仅仅是怀恨在心的员工——大多数内幕事件本质上都是 ...
【人工智能】
阅读更多英特尔至强5335的卓越表现与性能(领先市场的高性能处理器,适用于多种应用场景)
人工智能英特尔至强5335是一款强大的处理器,由英特尔公司设计和制造。该处理器具有卓越的性能和稳定性,在各种应用场景下都能提供出色的表现。本文将详细介绍英特尔至强5335处理器的特点、性能以及适用范围,并探讨 ...
【人工智能】
阅读更多Android M六大新特性
人工智能Android M六大新特性软件权限管理在Android M里,应用许可提示可以自定义了。它允许对应用的权限进行高度管理,比如应用能否使用位置、相机、麦克风、通讯录等,这些都可以开放给开发者和用户。网 ...
【人工智能】
阅读更多