问题标签 [phpass]

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.

0 投票
0 回答
123 浏览

php - phpass checkpassword 不让我登录

我正在尝试通过使用这篇文章使 phpass 工作:https ://sunnyis.me/blog/secure-passwords

当我创建一个新用户时没有问题。一切都上传到数据库,我得到一个看起来像这样的加盐哈希:

$2a$08$5i8TUw7Ego09blkDF6Fv.OVGyKMZjLJ7HzSfRZpX62EbsrcxhLbKK

但问题是尝试登录帐户时的验证。

在它总是结束的 else 语句中,我还试图查看我发送给函数的变量包含什么。$passwords 包含我在字段中作为密码输入的任何内容,并且 $stored_hash 按预期从数据库中检索完全散列的密码。

这是功能:

所以我的问题是某些东西不能正常工作,因为变量 $check 返回一个空字符串。我的 PHP 版本(5.3.23)可能有问题还是代码有问题?

0 投票
1 回答
490 浏览

sql - 是否可以在不丢失数据的情况下将加密从 MD5 重写为 PHPass?

我继承了一个迁移项目。旧数据库有 PHPass 加密,新数据库是 MD5。是否可以从 MD5“升级”到 PHPass 并保持数据完整性?

0 投票
1 回答
55 浏览

php - 匹配 pHpass 生成的散列密码的问题

我将新用户添加到数据库并使用 pHpass 散列用户密码。在这一点上,我面临着奇怪的问题。

如果我在同一页面上创建/散列密码“123”http://localhost/add.php并使用 pHpass 的 CheckPassword 方法检查密码,它会说密码很好。但是如果我检查之前创建的哈希密码,在http://localhost/add.php上创建http://localhost/login.php,它说密码无效。这是什么?

我的 pHpass 3.0(下载自:http ://www.openwall.com/phpass/ )设置是

我也尝试了便携式Hashes = TRUE但结果相同。那么,如果有人面临这种​​情况,究竟如何才能匹配密码。


这就是我所做的一切。

  1. 在 add.php 上,我使用pHpass方法HashPassword对来自 POST 的传入用户密码进行哈希处理并将其保存到数据库中。
  2. 在 login.php 上,我使用带有两个参数的pHpass方法CheckPassword,第一个未散列的用户密码和第二个针对用户名保存在数据库中的散列密码;正如从http://www.openwall.com/phpass/下载的文件中提到的pHpasstest.php

帮帮忙!

0 投票
1 回答
47 浏览

php - 在我现有的登录页面上检查 phpass 是否正确

我正在尝试将 Phpass 添加到我的网站,但无论我做什么,我都无法让 $check 布尔值返回 true 以让我实际登录,到目前为止,我已经设法用它加密我的密码并存储它在数据库上,但对其进行检查失败。

因为我一直在尝试添加到现有登录名,所以我想知道我是否有多余的代码会破坏它?或者也许我只是把它搞砸了,因为无论我在登录时尝试什么,唯一会加载的是

提前致谢!

编辑:对,我有一个将散列密码保存到数据库的注册文件:

然后我希望从数据库中读取它,将其与输入的密码等进行比较。

如何从 mysqli db 中提取该信息以进行比较?并希望让它发挥作用?

这是我正在关注的教程:https ://sunnysingh.io/blog/secure-passwords

0 投票
1 回答
22625 浏览

php - Codeigntier:无法加载请求的文件:Ubuntu 14.04 上的 helpers/phpass_helper.php

我正在尝试在我的基本控制器中加载 Phpass 助手以散列我的密码。但是,它似乎无法在 Ubuntu 14.04 上加载。我尝试搜索,有人说可能是因为 Linux 区分大小写,所以我将文件从 phpass_helper.php 更改为 Phpass_helper.php。并使用以下代码加载它:

但它仍然给我错误说:无法加载请求的文件:helpers/phpass_helper.php。有谁知道为什么它不起作用?任何帮助将不胜感激。谢谢。

}

?>

0 投票
1 回答
706 浏览

php - Golang 和 Phpass (Php) 怎么办?

我在一家公司工作,我必须将他们的 API 从 Php 重新制作为 Golang。之前的开发者使用 Phpass 和 Php,但是,我需要将它与 Golang 一起使用。

我搜索了如何在 go 中实现 phpass,但它似乎不像在 php 中那样有效。

我看到了这些 github 实现:

gopass — 在 go 中实现 phpass 算法

phpass — PHPass 密码的 go 实现...

也许这很奇怪,但它在 PHP 中的工作原理是否相同?对我来说,每次我为相同的密码/使用获得一个新的哈希密码时。我也从来没有做过php,所以我真的不知道如何测试这个类/库(phpass)

感谢您的帮助!

0 投票
2 回答
1555 浏览

php - woocommerce 如何加密密码?

我有一个安装了 woo commerce 的网站。我目前将其用作在线商店。但是,我想制作网站的应用程序版本,以便人们可以在应用程序和网站上注册、登录和购买东西。

所以我想我必须像 woo commerce 加密它一样加密用户密码,以便从应用程序发送的密码与通过 woo commerce 发送的密码具有相同的哈希值。

问题是我不知道 woo commerce 如何加密他们的密码,我尝试搜索它但没有得到任何东西。

尽管我有预感 WordPress 和 Woo commerce 以相同的方式加密密码,直到我使用相同的密码创建了两个帐户,一个通过 WordPress 和一个通过 woo commerce 并且它们的哈希值在我的数据库中出现不同。

如果有人可以帮助我弄清楚如何拥有两个相同的密码哈希器,最好不要取消我已经拥有的 woo 商务登录系统,我将不胜感激。

或者:如果有人可以告诉我 woo commerce 用来加密他们的密码的 php 文件在哪里,那也太棒了!

提前致谢。

0 投票
1 回答
287 浏览

ios - swift中的phpass散列类似功能

我的 wordpress 后端使用 phpass 哈希算法并使用网络服务给我 phpass。在 ios 中以 swift 结束,我试图在 swift 中生成相同的 phpass 哈希。以下是 swift 和 php 中的代码。两者具有相同的输入,但输出不同。所以问题是我怎样才能获得相同的输出。我错过了什么吗?

php代码:

SWIFT代码 :

0 投票
2 回答
254 浏览

c# - PHP phpass 转换为 C# 脚本

我有一个网站,通过以下脚本对其进行身份验证并生成一个以 $P$B 开头的密码...

使用这个类:

}

我有兴趣在登录时对使用相同用户的 C# 应用程序使用相同的加密模式。有人可以帮助我从 C# 中的 PHP 进行转换吗?

0 投票
1 回答
223 浏览

php - 当密码中有国际字符时,Phpass 的 WP 和 Node 实现不匹配

我想使用自己用 Node.js 编写的身份验证服务对 WP 用户进行身份验证。我有用户保存在wp_users表中。他们的密码使用 WordPress 的 Phpass 方法进行哈希处理。当用户尝试登录他的帐户时,WP 正在使用CheckPassword()方法并返回布尔值true/false如果密码匹配或不匹配。

现在我想使用 Node 将用户密码与 WP 哈希进行比较。我在 NPM 上找到了node-phpass 模块,它应该为密码散列提供 Phpass 算法。

在我使用国际字符之前一切都很好。这是一个例子:

在 WP 中,我这样设置密码,并得到一个哈希值:

P: alamakota
H:$P$BSrncAWIY2KU7waUGLzayaon6v3gKU1

当我尝试登录时,WP 说“没事,进来吧,伙计”

现在,我获取哈希并尝试使用 node-phpass 模块对其进行验证:

它说“酷,密码匹配!”

它也以另一种方式完美地工作。

现在,您可能会问,问题出在哪里?这里:

情况和以前几乎一模一样,但我将把ą字符放入密码中并使用 WP 对其进行哈希处理:

P: alamakotą
H:$P$B6kY.rneyNwdPvAgd0lDq6oYv82XOd1

同样,当使用 WP 进行验证时,它会显示“密码匹配!进来”。

不幸的是,当我尝试使用 node-phpass 比较密码时,它说“对不起,伙计,你不能通过”

它也不能以其他方式工作。

为什么会这样?当密码中有国际字符时,为什么我不能在 Node.js 中使用 WP 哈希?

更新:

我刚刚发现当输入字符串中有国际字符时,PHP 的md5()函数和 JS'escrypto.createHash('md5')不会返回相同的哈希值。有什么解决办法吗?