I'm using the golang.org/x/crypto/bcrypt package for storing passwords. Looking at documentation and other SO questions, it seems like I'm not supposed to (or at least don't have to) generate a salt for the password before I generate the hash. This seems counter to everything that I've read about cryptography and modern password storing, and makes me a bit nervous. Is it really secure enough to just pass the user's normal password into bcrypt.GenerateFromPassword
, or am I reading things wrong?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

首页/
已采纳
真的不需要为bcrypt生成盐吗?
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
duangou1868 2016-04-07 14:05关注The bcrypt package generates the salt for the application. The return value from GenerateFromPassword encodes the cost, salt and hash of the password.
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2020-04-23 08:23asdfgh0077的博客 换句话说, bcrypt生成的“哈希” 不仅仅是哈希。 Rather, it is the hash and the salt concatenated. 相反,它是哈希和盐连接。 #4楼 This is bcrypt: 这是bcrypt: Generate a random salt. 生成随机盐。 A ...
- 2021-02-04 13:14注意:尽管此库允许您提供自己的盐,但是强烈建议您允许该库为您生成盐。 提供这些方法是为了保持兼容性,以及可能需要使用它们的更高级的跨平台要求。 要针对哈希验证密码(假设您已经存储了哈希
- 2025-03-18 03:28用心去追梦的博客 虽然 BCrypt 的盐值随机化是其安全性的核心,但在某些测试场景下,您可能需要固定盐值以方便调试。因此,即使输入相同的密码,由于盐值不同,最终的哈希结果也会不同。如果您的密码验证逻辑仍然有问题,请提供更详细...
- 2021-04-16 07:33任一民的博客 这是bcrypt:生成随机盐 . 已经预先配置了“成本”因素 . 收集密码 .使用salt和cost因子从密码派生加密密钥 . 用它来加密一个众所周知的字符串 . 存储成本,盐和密文 . 因为这三个元素具有已知的长度,所以很容易将...
- 2021-07-09 17:56// 使用SecureRandom生成随机盐,实际应用中可能需要更复杂的方式 SecureRandom random = new SecureRandom(); byte[] saltBytes = new byte[8]; random.nextBytes(saltBytes); return new String(saltBytes, ...
- 2021-10-31 16:30AlbertS的博客 从概念上来说『加密』对应的是『解密』,我们把数据采用某种方式加密之后,可以在之后的某一时刻进行解密来获得原始数据,照此观点来说 `MD5` 并不是一种加密算法,它只能把原文加密成密文,而不能将密文解密成原文...
- 2020-05-11 07:45danpu0978的博客 bcrypt 加盐 前几天,我读了这篇Arstechnica文章 ,意识到这种情况多么悲惨。 而且这并不是因为邪恶的黑客而造成的。 不好是因为很少有人知道如何处理一件非常普通的事情:身份验证(注册和登录)。 但是似乎像...
- 2020-09-30 13:095649498的博客 而如果使用了bcrypt动态盐,bcrypt有个复杂的运算过程。是要比md5复杂无数倍的。设置saltRounds越高,就越复杂,消耗的时间就越久,而且用一个暴破密码值就只能来对比一个用户的密码值是否为这个暴破密码值,效率就...
- 2019-11-30 15:47大雨、的博客 用户表的密码通常使用MD5等不可逆算法加密后存储,为防止彩虹表破解更会先使用一个特定的字符串(如域名)加密,然后再使用一个随机的salt(盐值)加密。 特定字符串是程序代码中固定的,salt是每个密码单独随机,...
- 2025-03-13 03:12骷大人的博客 选择 Bcrypt 是因为它专门为密码存储设计,能够提供更高的安全性。相比于 MD5 加盐,Bcrypt 更适合现代密码存储的需求,并能有效抵御当前和未来的密码破解攻击。
- 2021-02-03 07:42最大输入长度为72个字节(请注意,UTF8编码的字符最多使用4个字节),并且生成的哈希值的长度为60个字符。 用法 该库与CommonJS和AMD加载程序兼容,并且如果都不可用, dcodeIO.bcrypt全局dcodeIO.bcrypt 。 node....
- 2021-08-16 02:22穿城大饼的博客 解决方案:加盐加密算法BCrypt 关键词 对称加密(单钥),非对称加密(公私钥),数字签名 BCrypt加密(加盐) 一、对称加密算法 (1)定义: 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密...
- 2021-12-31 02:18@JTS的博客 1.导入依赖Bcrypt 2. String str = "123"; String salt = BCrypt.gensalt();//盐 String password = BCrypt.hashpw(str,salt);//生成加密之后的密码 //校验 String str2 = "123"; Boolean result = BCrypt....
- 2023-07-01 07:37遇上彩虹pkq的博客 除了加盐来抵御rainbow table 攻击之外,bcrypt的一个非常重要的特征就是自适应性,可以保证加密的速度在一个特定的范围内,即使计算机的运算能力非常高,可以通过增加迭代次数的方式,使得加密速度变慢,从而可以...
- 2025-02-19 14:49西京刀客的博客 Bcrypt算法是一种非常安全的密码加密算法,已经被广泛应用于各种编程语言和操作系统中。
- 2021-05-07 21:00此程序包生成的哈希字符串采用以下格式: $bcrypt$v=<version>r=$$ 在哪里: 场地 类型 描述 number 使用的bcrypt算法的版本。 number 处理编码为log2(迭代)的数据的成本。 string 一系列位,称为B...
- 2024-08-23 01:25清风百草的博客 Bcrypt加密算法_案例+好处+jar包下载地址
- 2018-12-24 12:16merge不墨迹的博客 所谓加盐,无非是生成一个随机的salt在数据存储时提高数据的安全性,防止不法分子盗取用户个人信息。虽然MD5进行加密是不可逆的,但还是有弊端的。 举个简单的例子来说:如果数据库当中不同用户存储了相同的密码值...
- 2021-03-07 08:15关灯拆电影的博客 我正在Play 2.1中尝试使用BCrypt实现身份验证。Java应用程序,但是Invalid salt versionexception在尝试对用户进行身份验证时会遇到问题。这是我的堆栈跟踪play.api.Application$$anon$1: Execution exception[...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司