草庐IT

encrypted_password

全部标签

PHP password_verify() 与 Python bcrypt.hashpw()

所以,就这样吧。我已经设置了一个[简单的]PHPRESTAPI,我通过X-API-KEYheaderkey接收散列密码。这在与另一个PHP脚本交互时效果很好,并且该短语通过PHP的password_hash()方法进行哈希处理。但是,当我尝试通过Python和Requests库与API交互时,key被拒绝。以下是一些示例:PHP:format('Ymd')}";$hashed=password_hash($secret,PASSWORD_BCRYPT);echo$secret."\n";echo$hashed."\n";echo(phpversion());?>python:#!/us

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 - password_hash 的盐存储在哪里?

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

php - Symfony2 : Edit user without having password

在我的应用程序中,只有admin用户可以创建和编辑用户(理论上)。到目前为止,只使用Symfony安全系统(没有FOSUserBundle管理——不需要它的复杂性),创建具有不同角色的用户就可以了。完全逃避我的挑战是如何在不知道用户密码的情况下编辑用户。我一直遇到预期的验证错误Passwordcannotbeempty.如何完成编辑?我肯定在这里遗漏了一些非常基本的东西。编辑Action:publicfunctioneditAction($id){$em=$this->getDoctrine()->getManager();$user=$em->getRepository('ManaC

php - openssl_encrypt() 随机失败 - 传递的 IV 仅为 ${x} 字节长,密码预计 IV 恰好为 16 字节

这是我用来加密/解密数据的代码://Setthemethod$method='AES-128-CBC';//Settheencryptionkey$encryption_key='myencryptionkey';//Generetarandominitialisationvector$iv=openssl_random_pseudo_bytes(openssl_cipher_iv_length($method));//Definethedatetobeencrypted$data="Encryptme,please!";var_dump("Beforeencryption:$data

PHP password_hash() password_verify() 最大密码长度?

我可以在PHP5.5password_hash()和password_verify()中使用的最大密码长度是多少? 最佳答案 好的,让我们来看看这个。函数确实有密码长度限制。就像PHP中的所有字符串一样,它被限制为2^31-1个字节。需要明确的是,PHP无法处理比这更大的任何事情(至少在今天)。所以功能本身是有限的。但是底层的加密算法呢。BCrypt仅限于处理密码的前72个字符。然而,这通常不是问题asexplainedinthisanswer.所以简而言之,是的它确实有一个有效的限制(它只会使用默认且唯一的算法“使用”前72个字符

php - 安全登录 : public key encryption in PHP and Javascript

我正在尝试使“普通”用户名/密码登录表单安全,而不需要HTTPS。我的想法是这样的:服务器为某种非对称加密算法生成key对。它将这个key对存储在一个临时表中(或者可能是本地session数据)。服务器将表单发送给客户端并包含公钥。用户填写表格。在将密码发送到服务器之前,Javascript使用给定的公钥对密码进行加密。表格已发送。服务器使用它的私钥解密密码(它从临时表中获取,使用公钥找到它)。为此我需要知道的是:哪种加密方法最好用?自适应搜索广告?如何在PHP中解密密码?可能是最困难的一个,我如何让Javascript加密密码? 最佳答案

php - 让我的网站更安全,我使用的 password_hash 是否正确?

这个问题在这里已经有了答案:SecurehashandsaltforPHPpasswords(14个答案)关闭7年前。我有一个非常小的网站,最近我一直在努力让它更安全,我过去常常以纯文本形式存储我的密码。我认为我做的是对的,但作为一个“业余”程序员,我想确定一下所以我问你们,专业人士当用户注册时,我执行:password_hash($their_password,PASSWORD_DEFAULT)并将其存储在用户表的“密码”列中。我使用PASSWORD_DEFAULT因为根据php.net这似乎是最好的。Notethatthisconstantisdesignedtochangeove

php - 使用 MCRYPT_RIJNDAEL_256 将 mcrypt_encrypt 替换为 openssl_encrypt

你们可能知道,扩展名mcrypt将在php7.1中被弃用。我用来维护我想最终迁移到这个版本的“遗留”应用程序,所以我运行了测试并验证我不能再获得100%的覆盖率,因为有一段代码使用了以下内容代码:$key='sA*(DH';//initializationvector$iv=md5(md5($key));$output=base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,md5($key),$string,MCRYPT_MODE_CBC,$iv));我尝试使用这段代码将这段代码移植到openssl_encrypt$key=md5('sA*(

php - 正确使用 php openssl_encrypt 的方法

我在一个项目中使用密码学,我需要一些关于如何使用openssl_encrypt和openssl_decrypt的帮助,我只想知道最基本的和正确的做法。这是我到目前为止得到的://Toencryptastring$dataToEncrypt='HelloWorld';$cypherMethod='AES-256-CBC';$key=random_bytes(32);$iv=openssl_random_pseudo_bytes(openssl_cipher_iv_length($cypherMethod));$encryptedData=openssl_encrypt($dataToEn