问题标签 [password-hash]

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.

0 投票
1 回答
252 浏览

php - 在 OSX 上启用 PHP Blowfish

我最近迁移到 OS X 10.7 作为我的开发机器,运行 MAMP Pro 2.0.5。我们使用的加密库默认使用河豚,但在此平台配置上似乎不可用。我们现有的所有数据都是使用河豚加密的,所以现在我无法处理它。

我搜索了 MAMP 手册,但没有找到任何参考资料,我发现的所有其他内容都与 mcrypt 是否可用有关,但与加密算法无关。

我怎样才能启用河豚,还是我完全错过了这个概念?不幸的是,我正在为 PHP < 5.3 开发,因此不提供本机支持。

0 投票
2 回答
10537 浏览

ubuntu - 理解和破解salted sha512 hashes

在 Ubuntu 12.04 上,我创建了几个用户和密码,然后立即尝试使用开膛手 John破解这些密码。一个密码非常强大,但其他密码在我的单词列表中。

约翰仍在跑步,但到目前为止,我已经在大约 20 分钟内破解了两个。

我读到的所有内容都在谈论盐是否已知。以这个哈希为例:

盐是:

, 正确的?我的意思是,它不是一直都知道吗?所以盐除了防止使用彩虹表之外真的没有任何作用,对吧?

另外,还有这个帖子:

暴力破解加盐 SHA-512 哈希需要多长时间?(提供盐)

据此,除非密码在单词列表中,否则基本上无法破解 sha512。那篇文章大约有一年了,有人有什么新见解吗?我发现很难找到关于破解哈希的好资源;那里的所有信息都是关于生成哈希和保护密码的。

0 投票
2 回答
12687 浏览

java - 在 Oracle 11g 中选择 DBMS_CRYPTO 密码哈希

我目前在我的 Oracle 数据库中使用DBMS_CRYPTO.HASH. 然而,此时,我需要让我的 Java 应用程序能够以类似于 MySQL 的方式验证用户输入的密码。就像是:

我目前正在通过以下过程进行散列:

然后我执行如下过程,插入表中:

在我的情况下有没有更好的方法来实现这一点?如果这很重要,我正在使用 Oracle 11g。

0 投票
1 回答
258 浏览

php - crypt() 函数没有给出正确的哈希值

我已经使用thisthis制作了一个密码哈希脚本,我让它正常工作,除了有时 crypt 函数将哈希值设为“* 0”,然后它失败了。

PHP 代码

使用上面我得到的值是

请查看并建议任何可能的方法以使其正常工作。

谢谢。

0 投票
1 回答
68 浏览

security - 全球站点盐,值得吗?

我正在创建一个用户数据库,我正在考虑安全性,这让我想到,当我要对每个人都拥有独特的用户盐时,拥有一个站点盐真的值得吗?

对比

我的想法是,如果该网站被黑客入侵,黑客无论如何都可以访问全球盐。

0 投票
4 回答
614 浏览

java - 哈希机制真的安全吗?

好吧,我一直看到(和关注)人们说使用散列机制将密码存储在数据库中。我真的很担心它安全吗?

让我们举个例子。

假设我是黑客,我得到了你的数据库名称、ID 和密码。现在我可以完全访问您的数据库。

人们所说的密码应该被散列,因为如果有人入侵,黑客就可以看到它们。

所以如果我运行查询,select id, password FROM userDetails我将得到如下数据

选项1:没有哈希

选项 2:使用哈希

好吧,我还是要说,散列是不安全的。为什么我会在下面用Java代码告诉你。

这样,我可以打印用户名和密码。(我知道我必须生成随机密码,直到我没有找到密码)。然而这样一来,散列密码机制也失效了。

另外我相信这个世界上有解密器可以将散列数据转换为实际数据。

因此,我在想

散列机制是否安全?


编辑 1

我说的不仅仅是 MD5。我选择 MD5 仅用于示例目的。我说的是任何安全密码机制

0 投票
10 回答
5390 浏览

c# - 验证加盐哈希

我是 C# 新手,这是我在这里的第一个问题,所以我提前为任何失礼道歉。

语境:

当用户注册时,我调用 CreateSaltedHash() 方法并将用户从文本字段中输入的密码传递给它。此方法在将密码存储在我的用户表的密码列中之前对密码进行加盐和哈希处理。

问题:

当用户尝试登录时,我应该如何验证密码?

如果我再次调用 CreateSaltedHash() 方法,由于随机盐,它将不匹配。

我应该将盐存放在单独的列中吗?生成加盐哈希时是否应该使用分隔符?根据加盐和散列密码验证输入密码的最安全方法是什么?

代码: 这是我到目前为止所拥有的。


调用 Register 类中的方法。

0 投票
7 回答
68477 浏览

node.js - 密码的 Node.js 散列

我目前正在使用以下方法对密码进行哈希处理:

您能否提出改进建议以使项目更安全?

0 投票
0 回答
656 浏览

c#-4.0 - 如何在 C# 中检索哈希密码?

检索/重置密码/忘记密码的正确方法是什么?

我在 Rfc2898DeriveBytes 类中使用了基于密码的密钥派生函数 2 (PBKDF2)。

那么重置哈希密码的方法是什么。

0 投票
1 回答
1119 浏览

php - PHP 的 password_hash 是如何生成盐的?

您好,您可能知道 PHP 最近password_hash在最新版本中引入了内置功能。文档说:

如果省略,将创建一个随机盐并使用默认成本。

问题是它使用什么样的方法添加盐?

我很感兴趣,因为我想知道盐是否是随机创建的,这样当我存储我的散列密码时,它们总是唯一的