问题标签 [php-password-hash]

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 投票
2 回答
662 浏览

php - 批量密码散列 PHP-LOGIN PROJECT 代码

我有以下问题/要求。

我的网站有 2000 个用户,但是密码是使用纯文本存储的(我知道这非常糟糕)。通过阅读各种网站博客,我发现我需要使用现代密码散列和加盐。我找到了 php-login.net。他们使用现代盐渍/散列。

我已经下载了我将在我的网站中实现的最小登录脚本。我已经设置 xampp 在本地进行测试。当我注册用户时,会散列密码,我可以登录。

我的主要要求是我想散列我当前所有的纯文本密码。使用 php 密码兼容性库的 php 登录。

密码兼容性库

我如何散列数据库中的所有普通密码,因为我不会将 2000 1 逐 1 散列。

我假设我可以编写一个脚本,使用密码库更新数据库中的所有记录。

0 投票
1 回答
920 浏览

php - 有效地检查数据库中的散列密码

首先,我已尽力为此找到明确的答案。其次,我的代码似乎可以工作,但我想确认我正在以一种有效的方式执行此操作,并且不会让自己面临安全漏洞。

首先,我在将用户添加到管理表时使用 PHP password_hash;

其次,当用户尝试登录时,我只通过匹配用户名从管理表中检索用户,因为我看不到在查询期间检查哈希的方法(这是我不确定是否有更好的部分方式),并从 POST 输入中定义 $password 变量;

第三,如果查询有结果,我在用户输入上运行 password_verify 以检查匹配,然后根据真或假进行分支。

我知道有许多不同的方法来散列/保护密码,但是使用本机 password_hash 函数是我决定采用的方式,我的问题是我做得对吗/有更好的方法吗?

提前致谢。

0 投票
2 回答
2452 浏览

php - CodeIgniter - strlen() 期望参数 1 是字符串,给定对象

我正在使用上面的代码使用来自数据库的哈希验证用户输入密码,并且我正在使用具有内置 password_compat 的 CodeIgniter 使函数适用于低于 5.5 的版本。

以上应该可以工作,但我不断收到此错误:

严重性:警告消息:strlen() 期望参数 1 为字符串,给定对象文件名:compat/password.php 行号:220

这里可能是什么问题?

谢谢!

0 投票
0 回答
569 浏览

java - Java中的哈希字符串并在PHP中验证它

我想创建一个 Java 应用程序,它会创建一个用户帐户。在此之后,用户应该能够登录我的网站。

我需要一个 Java 方法来生成 PHP 支持的哈希值。在 PHP 中,我总是使用这个函数来生成哈希:

  1. 我怎么能在Java中做到这一点,当......

  2. 我在 PHP 中使用它来验证密码

PS:要生成$hash,我使用第一个函数。如果有任何不正确的地方,请更正我的代码,因为我是 Java 新手

0 投票
2 回答
219 浏览

php - 在 PHP 中实现 password_hash 的问题

我已经阅读了一些有关如何实现 password_hash() 的帖子,并尝试尝试一下。

当我在没有散列的情况下运行我的代码时,它工作正常,但是当我添加散列函数时,我遇到了麻烦。

麻烦,我的意思是页面只是空白,没有任何东西存储到数据库中。

这是与哈希和进入数据库相关的代码

$Password 这里是从页面收集的明文密码。

我看不出是什么导致了这个问题。

任何指针将不胜感激。

0 投票
2 回答
12607 浏览

php - 使用 password_verify() 验证 MD5 密码

有没有办法将MD5密码转换为可以验证的东西password_verify()

我在Crypt Wikipedia 页面上读到“密码哈希的可打印形式以.MD5开头”。$1$

因此,我试一试(没有任何运气):

有没有办法password_verify()使用MD5密码?

问题原因:我有一个旧系统,其中密码存储为MD5哈希值。我想开始使用更安全的Password Hashing API. 如果我能够将现有的密码散列转换为可以使用的东西password_verify(),我可以只更新数据库条目($1$添加到所有密码散列之前),我的程序将使用以下代码很好地工作(我不必制作旧MD5密码的特殊情况):

0 投票
0 回答
58 浏览

php - 我无法输入密码以匹配使用 PHP 5.5 的散列密码

这个问题被标记为重复,我不相信它是因为我没有找到任何适合我的解决方案;但注意到的答案是关于错误发布的——这个问题与代码语法错误无关;简单地说:如何获取存储的散列密码以匹配在登录屏幕上输入的密码?

我正在使用 PHP 5.5.9,这是我的数据库信息:

Apache/2.4.7 (Ubuntu) 数据库客户端版本:libmysql - mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $

服务器类型:MySQL 服务器版本:5.5.44-0ubuntu0.14.04.1 - (Ubuntu)

PHP 扩展:MySQLi

我开始说我几乎不是一个初学者(甚至不是一个 nOOb,我从 MySQLi 开始。我知道 PDO,但这是我现在用于登录屏幕的骨架形式我已经失去了越来越多的头发。

以下任何提示将非常非常感谢,并提前感谢您。

我无法匹配密码(使用此代码将用户插入数据库:--->)

$hash 值被插入到数据库中,在 phpMyAdmin 上看起来很好。然后是基本的基本登录屏幕,询问凭据,我总是收到“密码不匹配”失败:

0 投票
1 回答
115 浏览

php - 使用 PHP 更新密码

PHP >= 5.5 具有password_hash简化散列密码的功能。通常他们会推荐类似的东西:

利用任何改进是未来的版本。目前默认算法是bcrypt.

问题是:

  • 存储的密码哈希是否会与使用不同算法的未来实现不兼容?
  • 如果是这样,有没有办法更新数据?

谢谢

0 投票
0 回答
249 浏览

php - 使用`password_hash` PHP更改密码后我无法登录

更改密码后password_hash无法登录,我可以使用注册时创建的密码登录,但更改后无法登录。我错过了什么?

我的密码列是 255 个字符长。

0 投票
2 回答
948 浏览

php - 使用 txt 平面文件数据库将 password_hash() 添加到 php

我试图了解password_hash()函数是如何工作的。

我用我选择的四个密码获得了这个超简化的 php 登录(完全不安全,只是为了学习而设计的)。

还有这个pass.txt,密码保存的地方(.txt 平面文件数据库):

是否可以在我的代码中添加 password_hash() 函数?

我猜php应该能够为此目的重写数据库,因为这个函数每次登录时都会重写密码。

谢谢你们XXX