使用bcrypt(PHP)比较两个哈希
在我的数据库中,我用使用bcrypt(PHP)比较两个哈希,php,security,password-protection,bcrypt,Php,Security,Password Protection,Bcrypt,在我的数据库中,我用 password_hash($user->getPassword(), PASSWORD_BCRYPT); 在登录表单中,用户输入此密码,我将密码编码为bcrypt字符串,并将加密的密码(因为我没有SSL)提交给服务器 所以我的问题是,是否有可能比较使用bcrypt生成的两个散列 在登录表单中,用户输入此密码,我将密码编码为bcrypt字符串,并将加密的密码(因为我没有SSL)提交给服务器 停止您正在做的事情,去购买SSL证书。有几个景点(就是一个)你可以免费得到一
password_hash($user->getPassword(), PASSWORD_BCRYPT);
在登录表单中,用户输入此密码,我将密码编码为bcrypt字符串,并将加密的密码(因为我没有SSL)提交给服务器
所以我的问题是,是否有可能比较使用bcrypt生成的两个散列
在登录表单中,用户输入此密码,我将密码编码为bcrypt字符串,并将加密的密码(因为我没有SSL)提交给服务器
停止您正在做的事情,去购买SSL证书。有几个景点(就是一个)你可以免费得到一个,或者你可以花7美元给像Name便宜这样的人
您已经实现了安全性的幻觉。在客户端对密码进行散列不会带来任何有意义的安全好处-任何MITM攻击者只需将JavaScript的调整副本提供给他们攻击的人(或者截取散列密码,它本质上是用户在方案中的真实密码)
在登录表单中,用户输入此密码,我将密码编码为bcrypt字符串,并将加密的密码(因为我没有SSL)提交给服务器
停止您正在做的事情,去购买SSL证书。有几个景点(就是一个)你可以免费得到一个,或者你可以花7美元给像Name便宜这样的人
您已经实现了安全性的幻觉。在客户端对密码进行散列不会带来任何有意义的安全好处-任何MITM攻击者只需将JavaScript的调整副本提供给他们正在攻击的人(或者截取散列的密码,它本质上是用户在方案中的真实密码).不。除非他们使用完全相同的盐和成本参数。啊,好的,这意味着如果我使用相同的盐和成本,这是可能的吗?但是我认为在javascript中显示盐和成本是非常糟糕的…@user2831042盐和成本不是敏感项。您应该担心您正在为该站点提供服务,并且您的关键安全功能未加密且可攻击。@user2831042如果您需要对多个哈希使用同一个salt,则说明您做错了。正如ceejayoz所说,获取SSL证书。可能是编号的副本。除非他们使用完全相同的salt和cost参数。啊,好的,这意味着如果我使用相同的salt和cost,这是可能的吗?但是我认为在javascript中显示盐和成本是非常糟糕的…@user2831042盐和成本不是敏感项。您应该担心您正在为该站点提供服务,并且您的关键安全功能未加密且可攻击。@user2831042如果您需要对多个哈希使用同一个salt,则说明您做错了。正如ceejayoz所说,获取一个SSL证书