草庐IT

密码学

全部标签

php - password_verify 和 doveadm pw -t 如何在不加盐的情况下验证密码

我目前正在尝试理解哈希和盐。据我了解,如果我只有密码和生成的哈希值(这是用随机盐生成的),就不可能验证密码。如果我不加盐,PHP中的password_verify函数如何验证我的密码?后台是否有一个隐藏变量,为php哈希函数存储它?如果是这样的话,怎么可能doveadmpw-t'{SHA512-CRYPT}$6$myhash...'-p"qwertz"也要验证它,即使我在完全不同的计算机上运行它?那是Dovecot(一种MDA)附带的工具。这是我的PHP代码,它创建一个包含64个字符的随机盐,将其与密码组合,创建哈希并通过password_verify()验证哈希。我今天才开始研究整个

javascript - 在发布然后使用 BCRYPT 之前,我应该如何散列密码?

我正在制作一个登录系统,当登录时,密码当前从JavaScript发送到一个PHP文件。在PHP中,我使用以下代码进行哈希处理。$hash=password_hash($_POST['password'],PASSWORD_BCRYPT);在使用POST发送密码之前,我应该如何在JavaScript中散列密码?我显然不想影响BCRYPT的安全。 最佳答案 客户端所做的并不真正由您控制。我的意思是,即使您对密码进行哈希处理,客户端也有可能在哈希处理/加密之前获取密码。varpassword=document.getElementById

区块链技术1---密码学基础

摘要:BTC属于加密货币,其中必然涉及到密码学的知识,而比特币比较开放,交易记录,交易金额甚至是底层源代码都是对外开放,那么加密使用在何处?这里就来谈一谈······1:哈希哈希函数是密码学的一个重要分支,它是将任意长度的输入变换为固定长度输出的不可逆的单向密码体制,在消息完整性检测(消息认证)和数字签名等方面有广泛的应用。Hash函数也称散列函数,是一种单向密码体制,即它是一个从明文到密文的不可映射的过程,即只有加密过程,没有解密过程1.1:哈希函数的三个重要性质collisionresistance:如果x!=y,那么H(X)!=H(Y),对于一个给定的x很难找到y使得H(X)=H(Y)h

php - 为什么使用相同的盐和密码调用 encodePassword()(或 hashPasswor())会在 Symfony 中产生不同的哈希值?

用户密码encoder,publicfunctionencodePassword(UserInterface$user,string$plainPassword){$encoder=$this->encoderFactory->getEncoder($user);return$encoder->encodePassword($plainPassword,$user->getSalt());}编码器从用户实体获取盐。我在用户实体中为getSalt()设置了一个静态变量:publicfunctiongetSalt(){return'my-static-salt';}但是当我编码时:$pas

密码学常见困难问题DLP,CDH,DDH,GDH,BDH,CBDH,DBDH,GBDH,更新中

密码学常见困难问题,更新中密码学常见困难问题大整数因数分解问题DLP:TheDiscreteLogarithmProblem离散对数问题CDH:TheComputationalDiffie-HellmanProblem计算DH问题DDH:TheDecisionalDiffie-HellmanProblem决策Diffie-Hellman问题GDH:GapDiffie-HellmanBDH:双线性DH问题CBDH:ComptationalBilinearDiffie-HellmanProblem计算双线性DH问题DBDH:DecisionalBilinearDiffie-Hellman判断双线性

php - 使用 crypt(),我的应用程序如何验证随机生成盐的密码?

我一直在查看PHP'scryptfunction和Stackoverflow上的一些questions,我正在尝试找出加盐和散列密码。我在PHP社区页面上找到了这个:类似的东西与:这是另一个question的摘录:However,thePHPcrypt()functioncanuseavarietyofdifferenthashestocomputethehash.Whenyouprefixyoursaltwith"$1$"yougetahashwithanMD5.Whenyouprefixwith$2$yougetacryptwithblowfish,whichismoresecur

php - 正则表达式不适用于密码?不知道为什么

所以我有一个正则表达式代码来确保密码是4到13个字符,它总是失败publicfunctionvalid_password($password){if(preg_match('^.{3,14}^',$password)){returntrue;}//endifelse{returnfalse;}//endelse}我使用的是正则表达式而不是php的长度属性,因为稍后我将添加更多正则表达式代码。但是,现在我被这个失败的程序困住了。问题是,它确保密码超过3个字符,但它并不关心密码的长度,就好像我没有设置限制一样。提前致谢 最佳答案 您已使

php - 将 URL 中的用户名和密码传递给 PHP 页面?

我已经在我的本地网络上部署了一个简单的基于PHP的应用程序(http://www.bigprof.com/appgini/)。我想要一种实现用户自动登录的方法。安全不是问题。是否可以修改登录页面以接受类似http://user:pass@app.server.lan/的内容??Thisisthesourceoftheloginpage,如果有帮助的话。如有任何帮助,我们将不胜感激。 最佳答案 HTTPBasicAuth凭据在$_SERVERsuperglobalinthekeysPHP_AUTH_USERandPHP_AUTH_PW

php - 仅在填写字段时更新密码

我的看法:UsernameForm->input('User.username',array('label'=>''));?>PasswordForm->password('User.password',array('label'=>'','value'=>''));?>我的Controller:functionedit($id=null){$this->User->id=$id;$data=$this->data;#print_r($data);if(empty($data)){$this->data=$this->User->read();}else{if($this->User-

php - Magento:忘记密码返回空白浏览器页面

我真的希望这里有人能帮忙解决这个问题。我正在使用Magento1.6.1.0新安装如果客户点击前端的忘记密码链接,他们会收到一封电子邮件,其中包含可供点击的链接。当他们单击电子邮件中的链接时,浏览器中会显示空白页面(不提示重置密码)。启动电子邮件链接时的路径如下所示:www.mystore.com/customer/account/resetpassword/?id=4token=26f8abcc1efd5559ce81ced2706586dbThe"error_log"said:30-Nov-201107:42:50]PHPFatalerror:Calltoamemberfuncti