问题标签 [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 回答
2965 浏览

c# - 使用 SQL Server 2008 CLR 进行密码散列

我正在尝试使用 SHA-512 算法在 SQL Server 2008 中实现对密码进行散列和加盐的解决方案。该解决方案基于 Michael Coles 所著的“Expert SQL Server 2008 Encryption”一书。根据他的示例,我能够在 Visual Studio 2010(C# 中的 .NET 3.5)中构建项目并部署到 SQL Server 2008(如下面的代码所示)。

当我使用下面的代码从 SQL 执行测试时,每个算法都会按预期生成哈希。

我想用它来验证登录,我假设我需要检索为用户记录存储的盐值并将其传递给 SaltedHash 函数,它将返回散列值。从那里,我会将函数返回的散列值与存储在用户记录中的散列值进行比较。

我遇到的问题是当我测试传递硬编码的盐值('0x0E5ECC235FF6BD7337FFDDE5799D4EEA')以及明文('ABCDEFGHIJ')以模拟检索散列值(例如用于比较散列密码)时。如果我提供具有相同硬编码盐值的 ('1234567890') 的明文值,它将返回完全相同的哈希值。实际上,任何 10 个字符的明文值都会返回相同的散列值。

我假设问题在于“将明文与盐结合”代码,但不确定。

关于如何解决这个问题的任何想法?

0 投票
5 回答
31217 浏览

node.js - bcrypt 与节点一起使用的替代方案是什么?

我已经尝试了几天在我的 Windows 机器上安装 bcrypt,但没有成功。一个依赖项(Windows 7 SDK)不想安装,即使我已经尝试了来自网络的许多建议,它只是拒绝合作。

我需要一个很好的替代 bcrypt 的方法,它没有任何依赖关系。

0 投票
3 回答
2437 浏览

hash - 密码盐如何提高安全性

我试图了解密码盐如何提高安全性。基本上,对于每个用户密码,都会生成一个随机字符串,将其添加到密码中,然后进行散列处理。当用户登录时,系统会为该特定用户获取盐,将其添加到密码、散列并与存储的散列值进行比较。

现在。我了解这如何使密码/哈希值更长。我不明白是什么阻碍了自动功能选择用户名并且只是在 - 例如 - 一个网站上进行大量登录尝试,每次都使用不同的密码。在我看来,盐在那种情况下似乎没有作用?

我很确定我误解了这一点,如果有人能帮助我理解,我会很高兴。

0 投票
2 回答
3247 浏览

php - PHP password_hash 检查两个哈希

如果我使用password_hash函数创建了两个密码哈希,我如何判断它们是否来自相同的基本密码?我知道它每次都使用不同的盐。我没有纯文本。

例如: $2y$10$M6CnjqaxuUKNhg84T8NpLeylkUrvP1pzoZNhBWfpSzP2zJneuS1re两者$2y$10$ZSlQNIbsLWfj7JLCSkvFLeS/adH.KnGZTgA1BcvyPXl7BEn7GhREO都来自 hashing test。如果给定这两个哈希作为参数,我如何编写一个返回 true 的函数?

这可能吗?

所以:

会输出:

0 投票
2 回答
38 浏览

security - 用密码的内在属性加盐

来自 Wikipedia on Salt(密码学)

为每个密码随机生成一个新盐。在典型的设置中,盐和密码被连接起来并使用加密散列函数进行处理,结果输出(但不是原始密码)与盐一起存储在数据库中。

但是如果我没有离散数据库怎么办?是否可以使用密码的固有属性进行加盐,例如其反向?甚至(更好?)用密码的哈希值对密码进行加盐?例如:

当然会有性能后果,但如果我使用的是低访问系统,这种加盐会显示任何漏洞吗?

同样,我考虑这样做的主要原因是为自己省去很多储存盐的麻烦。

0 投票
1 回答
38858 浏览

php - 调用未定义的函数 password_hash()

我现在正在本地主机上运行 php 版本 5.4.16,同时我正在开发我的网站。我想使用password_hash(),但我不断收到此错误:

致命错误:在第123行的/dir/to/file.php中调用未定义函数 password_hash()

为什么会这样?

谢谢!

0 投票
4 回答
14539 浏览

php - password_hash、password_verify、MySQL 的误解?

我似乎无法让这个测试显示来自数据库的散列密码。它可以很好地显示表单中的密码。尝试进行此测试以找出为什么我无法从表单中验证密码与存储在数据库中的密码相比。我读过一些关于转义散列中的 $ 符号的内容,但我不确定如何使用我正在使用的代码来做到这一点。不管怎样,有些事情是不对的。任何帮助将不胜感激!

0 投票
0 回答
298 浏览

php - crypt() 函数在 php 5.4.2+ Ubuntu 12.04 LTS 上不起作用?我错过了任何安装吗?

我已经安装

  • ubuntu 堆栈 12.04 LTS
  • PHP 5.4.2(最新)
  • 河豚-crypt-php
  • php的mcrypt
  • postgres
  • 阿帕奇2

在我的 mac mini 上作为模拟服务器

在我的开发计算机上,我使用 XAMPP,用 Postgres 修改了 mySQL,这样我的模型就有一个几乎完全相同的堆栈。

这是我的加密代码:

我将传入我希望加密的字符串和随机生成器生成的盐。

输出 在我的开发计算机上,我能够使用 crypt() 函数和 salt 使用此函数成功地对我的密码进行哈希处理。

$salt -> HGHfwjgr0lGa31Ya
$hash -> $2y$10$$$$$$.T8Ru0j8p7ULN2QIAegbSiVTqmIIIc/a

但是在我的模拟服务器上,输出完全不同!它基本上只是将盐放在要加密的字符串的中间!

$salt -> HGhfwjgr0lGa31Ya
$hash -> $2y$10$HGhfwjgr0lGa31Ya$

我是加密新手,希望善良的灵魂会有所帮助!谢谢!

0 投票
2 回答
263 浏览

php - 如何创建安全的盐?

我在这里有一个小问题,因为我正在创建一个登录和注册系统。我学校的一位开发人员告诉我对安全密码进行加盐。我同意这一点,但他说我需要用时间戳创建盐,但怎么做呢?目前我正在这样做:

和盐就像:

这在我的配置中几乎没有,所以它不好......

有没有人有一些提示?任何想法如何做到这一点,所以如果你们中的任何人与我分享!

谢谢。

0 投票
3 回答
25670 浏览

php - Joomla 3.2.1 密码加密

当用户在网站上注册时,我在密码表中的数据库 joomla_users 中查找,密码以以下格式存储:

  • $P$Do8QrURFT1r0NlWf0X/grdF/aMqwqK/

  • $P$DH38Lch9z508gJiop3A6u0whTity390

  • ...........

但不是文档中描述的形式(MD5 +“:”+ SALT):

  • 1802ebc64051d5b4f4d1b408babb5020:0PHJDbnsyX05YpKbAuLYnw2VCzFMW2VK

我需要为我澄清这一点,因为我正在使用外部脚本来检查用户凭据以检查密码匹配。

在我的 PHP 脚本中,我有将 SALT 与数据库中的密码分开的代码:

但是如果没有双结我不能这样做(:)