问题标签 [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.
php - 使用未定义的常量 CRYPT_SHA512
我使用一个 php 脚本,它使用 php 的 crypt 对密码进行哈希处理并使用 SHA512,但是当我尝试检查是否设置了 SHA512 时,我得到了上述错误。当然我知道为什么我会收到这个错误.. php 缺少一些依赖项。我只是不知道那个依赖是什么。
谁能告诉我需要安装什么(在 Ubuntu 服务器上)才能在 PHP 中使用 SHA512?
谢谢!
php - mcrypt 可以执行 crypt() 支持的相同算法吗?
我有一个在 PHP 5.3 上运行的应用程序,它存储使用 PHPcrypt()
函数散列的密码。但是,默认情况下使用的散列类型 (SHA 512) 在我现在使用的运行 PHP 5.2 的服务器之一上不可用。我已经看到使用 mcrypt 可以获得更多的灵活性,但使用起来也更复杂。
是否可以使用 PHP 的 mcrypt 函数获得与 crypt 相同的结果(使用 SHA512 salt)?
因此,如果我使用 SHA512 盐输入“测试”,则使用 crypt() 和使用 mcrypt() 时加密的数据应该相同。
如果不可能,任何人都可以给我其他建议吗?不幸的是,升级到 PHP 5.3 不是一种选择(它是一个云服务器,我没有时间为此编写脚本)。
c - 如何在 Windows 中使用 crypt(3)?
如何在 Windows 平台上从 ac 程序调用 crypt(3)?我找不到要包含的头文件。我安装了带有 gcc 和 msys 的 MinGW。
编辑:作为替代方案,我也会接受一种从 Visual Studio 调用此函数(或等效函数)的方法。
php - 如何在 PHP 中使用 Blowfish 创建和存储密码哈希
1) 如何使用 crypt() 创建安全的 Blowfish 密码散列?
1a) “$2a”的意义是什么?它只是表明应该使用 Blowfish 算法吗?
1b) “$07”的意义是什么?较高的值是否意味着更安全的哈希?
1c) “$nGYCCmhrzjrgdcxjH$”的意义是什么?这是要使用的盐吗?这应该是随机生成的吗?硬编码?
2) 你如何存储 Blowfish 哈希值?
2a) 其中哪一部分应该存储在数据库中?
2b) 列(MySQL)应该使用什么数据类型?
3)应该如何验证登录尝试?
php - 如何创建 md5 哈希,因为 crypt 函数使用 md5 函数生成 md5 盐,而不是 crypt 函数?
我更喜欢在 php 中使用 crypt 函数来进行密码加密和其他单向加密要求。因为我可以使用任何支持的加密算法,通过更改盐并没有其他优势。通常,我不使用任何盐,它需要随机的 MD5 盐。我将此加密字符串作为密码哈希保存在数据库中,并在验证用户身份时,将其用作 crypt 函数的盐。它在 php 中运行良好。但是当需要任何其他编程语言来创建哈希时,当我在函数的 php 部分使用 crypt 函数时,我们遇到了问题。
我想知道是否有任何简单的方法来创建 MD5 哈希(使用 PHP md5() 函数或其他),这需要类似于使用 MD5 盐时生成的 crypt 函数。如果我能理解它在 php 中的工作原理,而不使用 crypt 函数,那么在其他编程语言中实现的可能性很大。
ruby - 使用 ruby 生成格式为 /etc/shadow 的 SHA512 crypt-style hashes?
我想生成 SHA512 散列密码以直接包含到 /etc/shadow 文件中,以便与厨师的用户资源一起使用。通常我会为此去stdlib的Digest
库,但它不会以正确的格式生成哈希:
影子文件想要的格式是:
我看过的东西:
- openssl "dgst" 模块返回与 .hexdigest 相同的格式,并且它的 "passwd" 模块不包括 SHA512 支持。
- String#crypt,但不支持 SHA512。(编辑:这只是在 OSX 上的情况——如果您指定“$6$somesalt”作为盐,现代 Linux 发行版将工作)
- ruby-crypt gem,但它不支持 SHA512
相比之下,返回正确格式的东西是 PHP 的crypt,但我宁愿不必为应该简单的东西执行 PHP。
php - PHP crypt() 返回错误答案
我想我在这里失去了我的弹珠......我在我的网站上遇到了一个问题,它随机停止接受登录。我现在已经能够追踪到 crypt() 的行为非常奇怪。
在我的数据库中,我有用户密码的加密版本 - 所以我们说 Og12345678。
当用户登录时,他们输入他们的密码,我从数据库中读取盐,然后加密他们输入的内容并进行比较——通常这很好用。
所以我正在做 crypt($enteredPassword, $saltFromDb) - 在这种情况下,盐当然是 Og。通常对于给定的用户密码 crypt 工作正常。
当事情出错时(当他们这样做时,这是一个永久性的改变,直到我重新启动 Apache)我发现 crypt 开始为相同的输入返回一个不同的答案,使用相同的盐。
然而,它是一致的,即一旦系统出错,crypt 返回错误的答案,但它总是返回相同的错误答案。页面的重复刷新显示相同的输出。同样的盐也出现在新的不正确的 crypt 结果中,所以并不是盐在某个地方丢失了。
如果我然后重新启动 Apache 并重新运行脚本而不做任何更改,那么来自 crypt 的结果就会恢复到应有的状态。
我很欣赏它不是最新的 PHP (5.2.8),但会重视对此的任何看法,包括它是否是在更高版本中修复的已知错误(升级 PHP 并不是一项令人愉快的任务,其中有很多网站仍然使用不幸的怪癖每次升级都需要重新测试) - 如果它是一个已知的固定错误,那么显然我会尽快升级它,除此之外,将地穴外包可能会更容易,因为我只在一个中使用它我的网站的共同点。
任何输入表示赞赏。
马特·佩德尔斯登
--- 更新:2011 年 3 月 11 日
更正先前关于操作系统的评论... - 操作系统是 Windows Server 2008 SP1 64 位。道歉我应该仔细检查而不是假设我能记住!机器是戴尔2950 8gb Ram,至强处理器。
我开始按照 Krtek 的建议进行思考——当系统出现问题时,如果我生成新的 crypt()(即一个非常简单的示例,我将变量设置为字符串,对其进行加密,然后与 crypt 进行比较) - 一切都很好。当我重新启动服务器时,它又回到了以前的计算。所以我肯定倾向于改变用于计算 crypt() 结果的算法......关于可能导致这种情况发生的任何想法?我打印出 CRYPT_STD_DES 等的值,它们在重新启动之间不会改变。
有人对可能导致这种情况发生的原因有任何线索吗?
不管是什么,昨天一天似乎发生了两次,最奇怪的是。
感谢迄今为止的答案。
--- 更新:2011 年 3 月 16 日
只是想提供另一个更新。
这仍在发生,仍然没有进一步了解原因。
万一将来有人遇到这种情况,我认为我的解决方案将是做一些讨厌的黑客攻击,将所有 crypt() 执行推送到外部 C# 应用程序,而不必依赖 PHP 来执行它们。某处出了点问题,此时我能看到的唯一解决方案是将其完全从方程式中删除。
当然,如果它仍然发生,那也将很有趣!:)
谢谢大家。
php - 使用 crypt 作为密码哈希并比较值?
我决定使用 crypt() 使用盐在我的数据库上加密我的密码,因为经过大量研究,这似乎是最好的选择。
我很好奇为什么这会起作用并得到匹配:
并且像这样进行相同的比较不会:
有任何想法吗?
谢谢。
php - php异步加密
我正在寻找一种异步加密算法,用 php 对字符串进行数字签名,并使用移动应用程序(主要是 ios 或 android)验证签名。
最简单有效的方法是什么?我可以信任 RSA 还是在双方(移动和 php 服务器端)都实现缓慢且难以实现?如果 RSA 足够好,你能建议我一个好的实现吗?