草庐IT

php - Node Crypto createHmac() 输出与具有相同输入的 PHP hash_hmac() 输出不同吗?

我正在尝试在Node.js中复制一个PHP哈希生成函数。此哈希用作API的一部分。PHP版本创建系统接受的正确输出。尽管我认为函数的输入相同,但Node版本会创建不同的输出。这是因为PHP和NodeHMAC函数的工作方式有一些根本不同吗?还是因为我只是缺少字符编码的一些怪癖?还是我只是搞砸了其他事情?PHP代码$url='https://example.com/api/endpoint';$user='apiuser';//Examplekey$key='+raC8YR2F+fZypNJ5q+CAlqLFqNN1AlAfWwkwJLcI7jrAvppjRPikWp523G/u0BLSp

php - 有没有办法在 PHP 5.2 中使用 bcrypt "hashing"?

我正在运行一个使用密码散列的网站,但我认为当前的算法还不够。我尝试将PHP的crypt()与blowfish选项一起使用,但我的PHP版本仅为5.2,因此未启用CRYPT_BLOWFISH。我见过可以通过Blowfish加密的第3方库,但没有一个库执行完整的Bcrypt散列。是否有任何您知道的PHP库在不使用crypt()函数的情况下具有bcrypt散列?或者,更好的是,将第3方blowfish加密算法提供给第3方bcrypt哈希算法的任何方法?澄清一下,我无法安装更新版本的PHP,因为我在共享主机上。如果有任何建议,我将不胜感激!谢谢! 最佳答案

php - 为什么 php password_verify 和 password_hash 使用不同的加密标识符?

经过一些故障排除后,我确定当我使用PHP的password_hash函数散列密码时,加密标识符是$2y$。但是,当我使用password_verify函数将存储的散列密码与用户输入的密码进行比较时,password_verify不会返回true。如果我使用https://www.bcrypt-generator.com/上的$2a$标识符生成新密码并用它替换存储的散列密码,它返回true。我希望有人能解释为什么password_hash($password,PASSWORD_DEFAULT)使用$2y$以及为什么password_verify()使用$2a$。或者我在这里可能做错的任何

php - 核心 php 中的 Laravel Hash 等价物

我已经有一个web应用程序,我已经使用加密了我的所有密码Hash::make($string);什么是核心php中的等价物,这将帮助我的android开发人员与我的应用程序同步。我试过散列和地穴,它不一样。帮助我,这样我的开发人员就可以更轻松地编写后端。 最佳答案 尝试使用password_hash($string);你可以使用来验证它password_verify($string,$hash);希望对您有所帮助!! 关于php-核心php中的LaravelHash等价物,我们在Stac

php - PHP 的 hash_file 是在内部流式传输吗?

当我对一个大文件(5GB)调用hash_file时,我注意到我机器的内存使用量上升了。操作成功完成,但我想知道hash_file的内部实现是将文件内容流式传输到哈希算法中,还是尝试先将整个文件内容加载到内存中。有人知道吗? 最佳答案 还没有人正确回答这个问题,所以我正在回答我自己的问题。经过一些测试后发现hash_file确实将文件作为流操作,而不是在内部使用一些愚蠢的东西,比如file_get_contents。通过使用php_memory_limit值低于被散列文件大小的环境进行测试。(一开始就应该这样做,对噪音感到抱歉。)

php - 你能解释一下这些令人不安的 md5 和模数异常吗?

好吧,标题真的很主观。但这正是我的问题所在。背景是我想在定义数量的缓存服务器上均匀分布静态Web内容的命中。此外,向客户的交付应该会加快,因为多个域正在使用中,并且请求不会相互阻塞。我也不需要经典的负载均衡器,但会立即在我的html代码中生成正确的链接。我还想确保相同的url始终由相同的服务器提供服务。所以我只是定义了一个小函数,它通过散列请求url返回要使用的主机,并根据正在使用的服务器数量计算模数:functionpseudocode_statify($url){//$urllookslike/folder1/folder2/file.jpgreturn'http://'.md5(

php - 为什么md5仍然被广泛使用

首先,我应该说我是编程新手,所以如果这是一个幼稚或愚蠢的问题,请多多包涵。好的,我正在编写一个小应用程序,其中一部分将涉及散列用户密码。在研究了执行此操作的最佳方法后,md5作为建议出现,几乎与批评其使用的文章中出现的次数一样多。替代方案是SHA-1等,它们更强大且不太可能被破解。这是完全有道理的。进入正题:为什么md5仍然广泛用于散列我应该自动降低md5的哈希值密码,还是在特定用例中它的使用实际上比其他哈希机制更好? 最佳答案 MD5和SHA-1都不应用于散列密码。它们旨在快速计算,这正是您不想要的。如果人们使用这些散列算法来散列

PHP - MD5、SHA、散列安全

我是一个用PHP构建的新网站的开发人员,我想知道什么是最好的用于散列的东西。我查看了md5和sha1,但还有什么更安全的吗?很抱歉,如果这是一个笨拙的问题,但我是PHP安全的新手,我正在努力让我的网站尽可能安全。还有什么是盐?谢谢,瓦西姆 最佳答案 首先,md5和sha1已被证明可以抵抗碰撞攻击并且可以是彩虹很容易列出(当他们看到你的哈希值在他们的常用密码数据库中是否相同时)。目前有两种足够安全的密码可供您使用。第一个是sha512。sha512是SHA2的子版本。SHA2尚未被证明是vunrable碰撞攻击和sha512将生成一个

php - password_hash 的盐存储在哪里?

根据(相对)新的PHP文档:password_hash函数使用随机盐(我们不应该担心..O_O),所以如果我理解正确,盐必须存储在某个地方,否则用户在注册到网站后将无法登录(不同的盐=>不同的哈希值。)函数文档没有说明与数据库交互的任何信息,并且由于我认为存储每个用户的数据只能通过数据库进行扩展,那么该函数到底在哪里存储随机盐?像session数据这样的txt文件? 最佳答案 让我们从其他人告诉你的例子中学习:$options=['cost'=>11,'salt'=>'abcdefghijklmnopqrstuv',];echopa

php - 您可以将 php crypt() 的输出转换为有效的 MD5 吗?

我有一些使用PHPfunctioncrypt()加密的字符串.输出看起来像这样:$1$Vf/.4.1.$CgCo33ebiHVuFhpwS.kMI0$1$84..vD4.$Ps1PdaLWRoaiWDKCfjLyV1$1$or1.RY4.$v3xo04v1yfB7JxDj1sC/J/虽然我相信crypt()使用的是MD5算法,但输出不是有效的MD5哈希值。有没有办法将生成的哈希值转换为有效的MD5哈希值(16字节十六进制值)?更新:感谢您到目前为止的答复。我很确定所使用的crypt函数正在使用某种MD5算法。我要做的是将我拥有的输出转换为类似于以下内容的MD5哈希:9e107d9d37