当前位置: 首页 > 知识库问答 >
问题:

如何创建laravel散列密码

仲孙文乐
2023-03-14

我正在为拉拉维尔创建一个散列密码。现在有人告诉我使用Laravel哈希助手,但我似乎找不到它,或者我找错了方向。

如何创建laravel散列密码?在哪呢?

编辑:我知道代码是什么,但我不知道在哪里和如何使用它,所以它返回给我散列密码。如果得到散列密码,就可以手动将其插入数据库

共有1个答案

赵君植
2023-03-14

Laravel中使用Bcrypt哈希密码:

$password = Hash::make('yourpassword');

这将创建哈希密码。您可以在您的控制器中甚至在模型中使用它,例如,如果用户使用post方法使用表单向您的控制器提交密码,那么您可以使用如下方法对其进行哈希:

$password = Input::get('passwordformfield'); // password is form field
$hashed = Hash::make($password);

这里,$hashed将包含散列密码。基本上,您将在创建/注册新用户时执行此操作,因此,例如,如果用户使用表单提交了诸如名称电子邮件用户名密码等详细信息,那么在将数据插入数据库之前,您将在验证数据后哈希密码。有关更多信息,请阅读文档。

更新:

$password = 'JohnDoe';
$hashedPassword = Hash::make($password);
echo $hashedPassword; // $2y$10$jSAr/RwmjhwioDlJErOk9OQEO7huLz9O6Iuf/udyGbHPiTNuB3Iuy

因此,将$hashedpassword插入数据库。希望,这是清楚的现在,如果你仍然感到困惑,那么我建议你读一些教程,看一些屏幕转换在laracasts.com和tutsplus.com上,也读一本关于laravel的书,这是一个免费的电子书,你可以下载它。

更新:由于op希望使用Laravelhash手动加密密码,而不需要任何类或表单,因此这是一种在命令提示符下使用artisan tinker的替代html" target="_blank">方法:

  1. 转到命令提示符/终端
  2. 导航到Laravel安装(项目的根目录)
  3. 使用cd 并从命令提示符/终端按enter键
  4. 然后编写PHP artisan Tinker并按Enter
  5. 然后编写echo hash::make('someString');
  6. 您将在控制台上获得一个哈希密码,复制它,然后执行您想要执行的操作。
// Also one can use bcrypt
$password = bcrypt('JohnDoe');
 类似资料:
  • 问题内容: 我正在尝试为Laravel创建哈希密码。现在有人告诉我使用Laravel哈希帮助器,但我似乎找不到它,或者我的方向错误。 如何创建laravel哈希密码?在哪 编辑:我知道代码是什么,但我不知道在哪里以及如何使用它,因此它给了我哈希密码。如果得到哈希密码,则可以手动将其插入数据库 问题答案: 使用Bcrypt散列密码: 这将创建一个哈希密码。您可以在控制器中甚至在模型中使用它,例如,如

  • 问题内容: 我需要对密码进行哈希处理以存储在数据库中。如何用Java做到这一点? 我希望使用纯文本密码,添加随机盐,然后将盐和哈希密码存储在数据库中。 然后,当用户想要登录时,我可以使用其提交的密码,从其帐户信息中添加随机盐,对其进行哈希处理,然后查看其是否等同于其帐户信息所存储的哈希密码。 问题答案: 实际上,你可以使用Java运行时内置的工具来执行此操作。Java 6中的SunJCE支持PBK

  • 我试图完全理解密码散列,以便能够向审计员解释它。 基于我对答案的搜索,我知道函数是的包装器。在阅读预定义常量的PHP手册时,我看到它使用作为默认整数值(基本上它使用算法来散列密码)。 让我困惑的是,变量如果省略,会生成一个随机salt,并且成本将设置为。如果我提供了更高的成本(例如:),由于我没有提供salt值,它还会生成随机salt吗?我在这里感到困惑的原因是,我没有忽略,而是提供了不同的成本。

  • 问题内容: 我想给一些用户提供一百万个密码,例如: 必须至少包含6个字符 它必须包含数字和字母 我应该在这里使用吗?怎么样? 问题答案: Apache Commons Lang的RandomStringUtils提供了一些生成随机字符串的方法,该字符串可用作密码。 以下是8个字符的密码创建示例: 这将产生以下结果: 当然,您也可以使用一些方法来限制密码生成所允许的字符集: 将仅创建以下字符的密码:

  • 我正在处理一个pet项目,现在我想添加用户注册支持。经过一些研究,我决定在数据库中保存哈希密码和salt,而不是原始密码。然而,我不知道这些步骤是什么,顺序是什么。以下是我的假设: 注册 客户端向服务器发送用户名和密码(https) 服务器获取密码,生成随机salt Base64对盐进行编码 用stringify salt散列密码 Base64对密码进行编码 将密码和salt保存到数据库中 登录

  • 问题内容: 我们基于Web的应用程序使用在帐户创建期间指定的密码将用户帐户绑定到用户。对于Java,在将密码的哈希值保留在数据库中之前,如何安全地处理密码。 更具体地说,如何确保在足够短的时间间隔内对收集密码的字符串进行垃圾回收? 问题答案: 如果有可能(在Web应用程序中可能很困难),将密码存储在字符数组中比将其存储在字符串中更好。如果完成了密码的存储,则可以使用Array.fill()将其覆盖