问题标签 [crypt]

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 回答
467 浏览

php - 生成跨平台兼容的 Blowfish 哈希 (PHP/Ruby)

在 PHP 中,我们使用内置的crypt()函数生成一些密码散列来生成河豚散列。

我看到 ruby​​ 有String#crypt,但我们得到的输出完全不同(更短的哈希)。查看手册页crypt (3),只有一些 Linux 发行版向 glibc 添加了河豚支持,所以我认为 ruby​​ 不支持它。

现在我用谷歌搜索并找到了cryptgem,但它似乎被硬编码为 2^16 个周期而不是我们使用的 2^10 个周期。它还在 ruby​​ 1.9.3 中给了我一个例外:

有人知道我们如何在 ruby​​ 中生成与在 PHP 中生成的相同的河豚哈希吗?

0 投票
2 回答
1473 浏览

php - PHP 的 crypt 函数在内部是如何工作的?

如果我在 PHP 中进行以下调用,它将使用我的密码和 salt 使用 sha512 对其进行多次散列:

但是,我想知道这个过程是如何运作的。是这样的吗?:

或者这是一个非常复杂的过程?

我问的原因是因为我想要一个易于用其他语言实现的加密哈希系统。

0 投票
3 回答
1357 浏览

php - PHP crypt 函数结果:它是如何工作的?

当我在 PHP 中执行下一个脚本时:

我得到以下结果:

hash1 是以下结果:

我的问题是:

除了 hash5 之外,所有结果怎么可能相同?我认为盐的最轻微变化会产生完全不同的结果。

0 投票
1 回答
12127 浏览

php - 哪种散列算法提供最长的输出?

我很好奇 PHP 的 crypt 函数可以使用哪种散列方法提供最长的输出,并且,如果输出的长度是相对的,它们可能是两个散列的冲突。

0 投票
1 回答
406 浏览

php - 具有现有身份验证系统的 Bycript/Blowfish 和 Salts

我正在尝试过渡到 Blowfish 以获取身份验证系统。请耐心等待,我不是密码学家,我对 Blowfish 的理解还不完全。

当前设置使用 sha1 和 salts。为每个用户生成盐并存储在数据库中。归结为:

getSalt()方法为指定用户获取存储在数据库中的盐。

现在,如果我正确理解了所有内容,那么使用 crypt 我应该这样做:

澄清一下,对于第二个示例,$saltInDB变量是一个类似于“$2a$07$arandomsaltcreatedatregistration$”的值。

  • 我做对了吗?
0 投票
2 回答
915 浏览

php - 使用 PHP 的 crypt() 函数时使用 base64_encode

我有一个简单的问题要问你们:

我正在修补 PHP(我相对缺乏经验),并且有兴趣开发一个安全的密码散列系统以在我的网站上使用。通过关于 SO 的其他文章和问题,我推测我应该使用 PHP 的crypt()函数来实现 BSD 的bcrypt哈希算法。

我向您提出的问题是,当我为函数提供初始化向量或密码时,不是 base64 的输入似乎返回“0”作为哈希值。这是我为解决此问题而实施的方法:

当我像这样更改编码时,是否存在碰撞危险或以其他方式降低安全性?

我的想法是,我希望允许用户使用任何范围的字符作为他们的密码(我将执行一个好的密码策略),而不必担心我的散列函数返回一个空的散列。

有没有更简单或更优雅的方法来做到这一点?我是否应该使用不会限制我的盐和密码的哈希函数?

提前感谢您能给我的任何帮助。

0 投票
1 回答
2974 浏览

php - 在不支持它的 php 5.2 上使用 CRYPT_BLOWFISH

我在不支持CRYPT_BLOWFISHbut的 PHP 5.2 上运行我的页面CRYPT_MD5,并且听说河豚比 md5 安全得多。

由于我不是主管,我无法将 PHP 升级到支持它的版本。

CRYPT_BLOWFISH在 PHP 5.2 上使用有什么技巧吗?

和,

在第一面粘贴 '$2a$' 是否正确?

很困惑。

Ps 如果我使用crypt()with CRYPT_BLOWFISH,bcrypt 会在crypt()函数中正常工作吗?

0 投票
2 回答
1092 浏览

php - PHP crypt函数密码编码

无论哪种方式,以下代码都会返回相同的加密密码。我们为什么以及如何阻止这种情况。

显然缺少一些东西,因为这是返回相同的东西

0 投票
1 回答
1053 浏览

php - 散列:PHP Crypt() 无法正常工作

我对 crypt() 有一种奇怪的行为。这是我在 Zend 中的代码:

我将一个 md5 生成的字符串作为第一个参数传递给辅助函数 generateHash,并将一个盐作为第二个参数。我将生成的哈希存储在 $correct_password_hash 变量中。

现在在对同一个辅助函数的第二次调用中,我刚刚删除了第一个参数末尾的字母 5。第二个参数是一样的。但它仍然生成与第一个相同的哈希。

这是输出:

正确的密码哈希 - 57CO1Lzyk81kk
编辑的密码哈希 - 57CO1Lzyk81kk

助手 generateHash 如下:

这是 crypt() 应该如何工作的吗?

谢谢。

0 投票
1 回答
262 浏览

php - 这是对地穴的好用吗?

我正在升级我的身份验证类,替换md5crypt存储密码。这是我采取的方法:

使每个用户的盐唯一增加了一个步骤,即对提供的用户名进行数据库查找id......我认为这是值得的。我错了吗?还有什么我不在这里考虑的吗?