问题标签 [scrypt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bcrypt - pbkdf2 上如何发生暴力破解?
很抱歉这个问题,但我问的是:使用 MD5 时,我们得到一个哈希,所以为了得到密码,我们对所有单词进行哈希处理,直到找到相同的哈希值。
但是在 pbkdf2 或 bcrypt 或 scrypt 等密钥派生算法中,黑客需要寻找什么?或者他会对所有单词做出相同的算法以获得相同的密钥推导?
很抱歉这个愚蠢的问题。
python - Python-Scrypt 不安装在 Windows 7 64 位
我的机器上似乎没有安装 Scrypt。我在这里安装了适用于 Windows 的版本。我使用Visual Studio免费版,安装OpenSSL 32位,编译BCrypt成功;但 SCrypt 返回此错误:
更新:复制了库,现在我得到另一个错误:
Update2:不想使用 GCC 编译:
-mno-cygwin
并且没有gcc --help
编辑 n:
security - 我可以通过加盐现有的 MD5 哈希并使用 Scrypt 或 PBKDF2 HMACSHA256 对结果进行哈希处理来提高 MD5 哈希密码的安全性吗?
我有一个使用 MD5 加盐和散列的旧密码数据库。我想更新系统以使数据更安全。
第一个选项是在用户登录并在一段时间后停用旧用户时将用户转换到新的哈希方案(Salt + Scrypt 或 PBKDF2 HMACSHA256),因此他们必须使用密码恢复功能,该功能会自动更新他们的哈希值。
另一个可以让我立即升级每个人的选项是采用现有的 MD5 哈希值,为每个哈希值添加一个新的随机盐值,然后使用新的哈希方案(Salt + Scrypt 或 PBKDF2 HMACSHA256)对结果进行哈希处理并存储该值到数据库并删除旧值。
然后当用户登录时,我必须先应用旧方法,然后再应用新方法。我更喜欢第二个选项,因为它允许我迟早从数据库中删除所有旧的不安全哈希。
对现有哈希进行加盐和重新哈希是否安全?MD5 是否如此损坏以至于我可以运行一个脚本来对密码进行去散列并使用新方案对其进行重新散列?
或者也许最好的解决方案是结合这两种选择?这样我就不必在数据库中保留现有的 MD5 哈希值,并且可以在一段时间内将用户迁移到新系统?
cryptography - Golang 加密多次调用有不同的响应
我为密码身份验证库编写的一些 Go 代码有问题。总体思路是提供 2 个函数,Check() 和 New(),它们都提供了密码和 256 位 HMAC 密钥。Check() 函数还提供了 256 位盐和 256 位哈希,并返回一个布尔值。New() 函数返回一个新的随机盐,以及它对应的哈希值。这两个函数都依赖于一个辅助函数 hash(),它使用 scrypt 来延长密钥,并完成生成输出哈希的实际工作。
当我最初编写它时,这是有效的(事实证明,我有由早期丢失的代码修订生成的工作测试数据)。
我现在遇到的问题是,当提供旧版本代码生成的数据时,Check() 函数似乎可以正常工作,但现在代码自己的 New() 函数生成的任何数据似乎都失败了(两者都使用底层的 hash() 函数)。
我知道,我应该从一开始就让 git 版本控制代码!我现在已经吸取了教训。
我已经将函数和问题的快速演示分组到一个 .go 文件中,如下所示,并添加了一些用于调试的输出:
我在 Linux 64bit 和 Windows8 64bit 上都试过了,但都失败了。
任何帮助将非常感激!正如我所说,我确实在某些时候有过这个工作,但我似乎在某个地方把它弄坏了。我通常只是在编写单元测试时才发现它不起作用......我想这就是他们的目的!
谢谢,
麦克风。
python - 是否有跨平台(windows-mac-linux)SCrypt的pythonic解决方案?
我整晚都在寻找它,甚至没有找到跨平台的 bcrypt python 库。我是否必须切换到 c 库并围绕它编写自己的包装器,还是有其他方法?
python - Python - 很难理解 scrypt 最大时间
据我了解最大时间参数:
意味着python将在这段时间内散列。
但是,我可以低至 0.76,它仍然会解密
这是什么原因?为什么我不需要解密 maxtime = encrypt maxtime?
java - 正则表达式匹配 scrypt
我需要探测给定的字符串是否与 scrypt 密钥匹配。
一些需要匹配的例子:
我使用 JavaString.matches
函数。
Keys 的描述如下: 基本形式: $s0$params$salt$key
值代表:
- s0 - 具有 128 位盐和 256 位派生密钥的格式版本 0
- params - 32 位十六进制整数,包含 log2(N)(16 位)、r(8 位)和 p(8 位)
- salt - base64 编码的盐
- key - base64 编码的派生密钥
c# - Scrypt 和 Cryptsharp 的示例代码
我在 Google 上进行了全面搜索,但找不到使用Cryptsharp库的 Scrypt 用法(用于散列密码)的代码示例。
你能提供一个散列密码的样本吗?
ios - 将 scrypt 添加到 Objective-C 项目
我想将 SCrypt 库添加到我的 XCode Objective-C 项目中。但是,我收到了大量以下类型的错误:
怎么办?有没有人将 scrypt 库添加到 XCode 中?