Bcrypt 用于密码哈希,因为它很慢?

2024-03-28

我今天读到未实现.com http://www.not-implemented.com/comparing-hash-algorithms-md5-sha1-sha2/ :

在大多数需要高速哈希函数的情况下,应选择 Sha-256。它被认为是安全的,没有已知的理论漏洞,并且具有 32 字节的合理摘要大小。不过,对于诸如散列用户密码之类的事情,首选设计得较慢的函数:bcrypt 是一个很棒的函数。

有人可以解释一下最后一句话吗:

不过,对于诸如散列用户密码之类的事情,首选设计得较慢的函数:bcrypt 是一个很棒的函数。

我并不是说这不正确,我的问题很简单:

为什么哈希用户密码首选使用慢速函数?


因为如果需要更多时间来哈希该值,那么也需要更长的时间暴力破解 http://en.wikipedia.org/wiki/Brute-force_attack密码。

请记住,慢意味着它需要更多的计算能力。当潜在的黑客试图暴力破解密码时,情况也是如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bcrypt 用于密码哈希,因为它很慢? 的相关文章

  • 最好的分布式暴力对抗措施是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 首先 有一点背景知识 众所周知 我正在为 CodeIgniter 实现一个 auth auth 系统 并且到目前为止我正在获胜 可以这么说 但我
  • MacOS X 上使用 crypt 进行 Python SHA512 加盐密码

    我正在尝试生成加密的密码字符串 类似于Linux中的 etc shadow 由于某种原因 我得到的输出是不同的 我有什么想法吗 一个比另一个长 不包括盐部分 usr bin python import crypt alg 6 SHA512
  • 在 iOS 中保存加密密钥的安全方法

    在我的 iOS4 应用程序中 我在多个地方使用 AES 加密 整个应用程序必须非常安全 为了做到这一点 我必须在这个应用程序中硬编码几个密钥 然后当我需要加密某些东西时随机选择这些密钥 我的问题是如何存储这些私钥 使用硬编码它们是否安全NS
  • 如何在 Spring WS 中配置双向 SSL 连接,而不使用 Spring boot 和使用单独的 Apache tomcat 服务器?

    我需要以双向 SSL 连接安全机制向服务器发送 Soap 请求消息 并处理来自服务器的 Soap 响应 我正在使用 Spring MVC 和 Spring ws 后者完全使用注释进行配置 并且需要配置两种方式 SSL 连接以将肥皂请求发送到
  • 如何将目录路径转换为唯一的数字标识符 (Linux/C++)?

    我正在研究获取目录 文件夹 并派生某种形式的唯一数字标识符的方法 我研究了 字符串到哈希 方法 但是 鸽子洞原理 http www codinghorror com blog 2007 12 hashtables pigeonholes a
  • java中带有二维键的映射

    我想要一个在 Java 中由两个键索引的映射 在其中使用两个键放置和检索值的映射 需要明确的是 我正在寻找以下行为 map put key1 key2 value map get key1 key2 returns value map ge
  • 在VS2008中,对于网站的FTP发布,有没有办法保存FTP登录密码?

    我喜欢 Visual Studio 2008 IDE 集成 非命令行 功能 可以选择通过 FTP 将 ASP NET 网站发布到我的网络服务器 我可以存储我的 FTP 用户名 但没有看到任何存储我的 FTP 密码的选项 因此我每次发布时都必
  • 使用端口 80 (Ubuntu / Linode) 运行 Node.js 的最佳实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在设置我的第一个Node js服务器上的cloud Linux node我对以下细节还很陌生Linux admin 顺便说一句 我并没有尝试
  • 如何使用 Node JS 对包含小数/尾随零的数据生成哈希

    在尝试验证 Node JS 中的 Authorize net webhook 通知时 我遇到了以下与小数 尾随零有关的问题 Authorize net 使用 HMAC SHA512 以及 Webhook 通知正文和商家的签名密钥形成哈希 该
  • 为什么我可以使用 ret 退出 main?

    我即将弄清楚程序堆栈到底是如何设置的 我了解到用以下方式调用该函数 call pointer 实际上等同于 mov register pc programcounter add register 1 where 1 is one instr
  • 保护客户端 API 的安全

    我正在为基于 JavaScript 的游戏构建服务器端 API 和客户端库 其中必须确保两个非常重要的功能的安全 用户每次游玩都必须扣款 我们必须确保提交的分数是玩家实际获得的分数 解决第一个问题看起来很简单 在每次游戏开始时 我们都会调用
  • 授予对视图的 SELECT 权限,但不授予对基础对象的 SELECT 权限

    我经常读到 视图的目的之一是安全性 允许某些用户访问基础表 而其他用户仅访问派生视图 考虑到这一点 我设计了几个向外部用户提供受限数据集的视图 一切都很好 但在实践中这是行不通的 我授予后SELECT对视图的权限 除非我授予 否则用户无法访
  • 我的小程序需要客户端访问资源的权限的策略文件位置在哪里?

    我发现我必须编写一个策略文件来授予我的小程序权限 但我真的很困惑 我想编写一个小程序 它是一个地图查看器 我需要在运行我的小程序的客户端上保存图像图块以在本地访问图块 以获得安全地查看地图的速度和时间 这对用户有利 因此 小程序需要授予读
  • 保护一个保存 MySQL 数据库的简单 Linux 服务器?

    这是一个初学者问题 但我浏览了该网站上的许多问题 但没有找到简单直接的答案 我正在设置一个运行 Ubuntu 的 Linux 服务器来存储 MySQL 数据库 该服务器尽可能安全非常重要 据我所知 我主要担心的是传入的 DoS DDoS 攻
  • 如何加密然后解密数据库类文件中使用的用户名和密码文本

    我创建了一个类文件database php 它处理所有sql 查询并连接到数据库 我将数据库的用户名和密码存储在一个变量中 如果可以访问 php 文件 很容易看到 我想加密该用户名和密码 这样即使在拥有该 php 文件之后 人们也无法知道原
  • 在 Ruby 中,哈希中标识符后面的冒号的含义是什么?

    我正在了解 Factory Girl 我看到了这段代码 factory post do association author factory user last name Writely end why do factory and las
  • PHP cookie 和会员安全

    我创建了一个论坛 该论坛在登录时使用 PHP 会话来确定用户 ID 并使用 cookie 来进行日志登录 我想我有两个问题 这是最好 最安全的方法吗 可以使用javascript通过地址栏手动添加cookie 这是一个巨大的安全风险 有没有
  • 使用openssl从服务器获取证书

    我正在尝试获取远程服务器的证书 然后可以将其添加到我的密钥库中并在我的 Java 应用程序中使用 一位高级开发人员 正在度假 告诉我我可以运行这个 openssl s client connect host host 9999 获取转储的原
  • 具有桌面应用程序安全性的 OAuth2

    我有一个 Electron 应用程序 它基本上是一个 Google Drive 客户端 我打算使用 OAuth 2 但是 Google API 要求我在生成 client secret 的地方注册我的应用程序 由于这是一个桌面应用程序 因此
  • 信任所有将文件发送到 https Web 服务的 java 类

    我需要编写自己的类来告诉 mule 与服务 wsdl 的 https 连接已验证 我的 mule 项目已经接近完成 但最后一块丢失了 在特定的 url 发送文件 我想要实现的目标 建立连接并将 xml 发送到目标 url 读取 xml 格式

随机推荐