美文网首页Java开发
数据库中如何安全地存储密码

数据库中如何安全地存储密码

作者: _浅墨_ | 来源:发表于2024-01-01 18:06 被阅读0次

如何安全地存储密码在数据库中?

不要做的事情

  1. 在数据库中以明文存储密码是不明智的,因为任何内部人员都可以看到它们。
  2. 直接存储密码哈希也是不够的,因为它容易受到预计算攻击(precomputation attacks),比如彩虹表(rainbow tables)攻击。

为了减轻预计算攻击,我们对密码进行加盐处理。

𝐖𝐡𝐚𝐭 𝐢𝐬 𝐬𝐚𝐥𝐭?

根据 OWASP 指南,“盐是作为哈希过程的一部分添加到每个密码中随机生成的唯一的字符串”。

𝐇𝐨𝐰 𝐭𝐨 𝐬𝐭𝐨𝐫𝐞 𝐚 𝐩𝐚𝐬𝐬𝐰𝐨𝐫𝐝 𝐚𝐧𝐝 𝐬𝐚𝐥𝐭?

  1. 盐不是必须保密的,可以以明文形式存储在数据库中。它用于确保哈希结果对每个密码都是唯一的。
  2. 可以使用以下格式将密码存储在数据库中: 𝘩𝘢𝘴𝘩( 𝘱𝘢𝘴𝘴𝘸𝘰𝘳𝘥 + 𝘴𝘢𝘭𝘵)。

𝐇𝐨𝐰 𝐭𝐨 𝐯𝐚𝐥𝐢𝐝𝐚𝐭𝐞 𝐚 𝐩𝐚𝐬𝐬𝐰𝐨𝐫𝐝?

要验证密码,可以进行以下过程:

  1. 客户输入密码。

  2. 系统从数据库中获取相应的盐。

  3. 系统将盐附加到密码上并对其进行哈希。我们将哈希值称为 H1。

  4. 系统比较 H1 和 H2,其中 H2 是存储在数据库中的哈希。如果它们相同,则密码有效。

相关文章

  • 如何安全地保存用户的密码

    最近数据库泄漏事件层出不穷,无数人的上网密码被人破解。本文来探讨一下如何安全地保存用户的密码。为什么非要安全地保存...

  • 如何安全地存储密码

    原文地址:http://blog.csdn.net/cadcisdhht/article/details/1928...

  • 锁屏密码

    1、密码存放在的位置Android 中的锁屏密码是存储在系统文件的数据库中的。 android 5.0 下 数据...

  • 更安全的密码存储与验证方案

    现在比较流行的密码存储是对密码明文做 HASH运算,把得到HASH值存储到数据库中。验证过程就是再次对用户发过来的...

  • 加密算法扫盲入门

    在日常开发工作中,经常会遇到需要加解密的场景,比如存储和校验用户密码、存储数据库,缓存等中间件的密码、和其它服务进...

  • 登录安全

    App登录常见的安全点:1.密码的安全2.token值安全使用 密码存储 用户密码必须不能明文存储。如果数据库泄露...

  • Jenkins:凭证管理

    凭据可以用来存储需要密文保护的数据库密码、Gitlab密码、Docker私有仓库密码等等,以便Jenkins可以和...

  • 软件技术-零基础-Golang存储注册信息

    欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】 如何把用户网页端发来的邮箱和密码存储到MongoDB数据库?...

  • [译]Dropbox是如何安全地存储用户密码的

    最初看到这篇文章是在 @登州知府 的微博上看到的,他的微博上分享了很多好的技术博客,推荐。由于本人英语学的比较烂,...

  • 跟我学Spring Cloud(Finchley版)-21-Sp

    前文都是将配置明文存储在Git仓库中,但在实际项目中,敏感的配置属性(例如数据库账号、密码等),都应加密存储,从而...

网友评论

    本文标题:数据库中如何安全地存储密码

    本文链接:https://www.haomeiwen.com/subject/akmundtx.html