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

文件hash PHP

诸超
2023-03-14

每次用户需要登录我的seafile服务器时,我都会尝试为他生成一个随机密码。seafile用法:-带SHA256的PBKDF2-10000次迭代-32字节

我使用的代码如下:

<?php   
  $salt = random_bytes(32);
  $salt = bin2hex($salt);
  $iterations = 10000;
  echo "GENERATED SALT: " . $salt . "<br>" . "<br>";

  $hash =  hash_pbkdf2 ("sha256" , "weirdone" , $salt , $iterations);
  echo "GENERATED HASH: " . $hash . "<br>" . "<br>";

  echo "FINAL RESULT: PBKDF2SHA256$" . $iterations . "$" . $salt . "$" . $hash . "<br>" . "<br>";

?>

问题是,即使使用相同的盐,我也会得到不同的输出示例:

SALT: 09d095a396852b525ce7f5408fe7d314a2632a19bfc8c495c8e79bd4e6aebfed
PASSWORD: weirdone

  seafile output:
  PBKDF2SHA256$10000$09d095a396852b525ce7f5408fe7d314a2632a19bfc8c495c8e79bd4e6aebfed$45145c60802f1fdce581a550b5e23f8027ba6ff0720c81f2efaa73025bd465ca

  my output:
  PBKDF2SHA256$10000$09d095a396852b525ce7f5408fe7d314a2632a19bfc8c495c8e79bd4e6aebfed$007c599ba2d0076e19589bb90303155efa2df8a2f6b49d845902c075bc5f5492

如果算法、salt、密码和迭代相同,为什么它们不匹配?

目标是生成新密码,将其插入数据库并将其提供给用户,以便用户可以登录。

谢谢

共有1个答案

许俊贤
2023-03-14

要传入十六进制编码的$salt,需要将原始字节$salt传入hash_pbkdf2()。

 类似资料:
  • {% tabs first=”SDK 1.1.2 及以上版本”, second=”SDK 1.1.2 以下版本” %} {% content “first” %} SDK 1.1.2 及以上版本 实例化一个 wx.BaaS.File 对象,以下操作都是在该对象上进行操作,如下进行实例化: let MyFile = new wx.BaaS.File() 文件上传 MyFile.upload(file

  • 问题内容: 我知道我们应该在问题中添加一些代码,但是我非常傻眼,无法束手无策,也找不到任何可循的例子。 基本上,我想打开文件 C:\ A.txt ,其中已经包含内容,并在末尾写一个字符串。基本上是这样的。 文件A.txt包含: 我想打开它并在末尾写Sue,所以文件现在包含: 抱歉,没有代码示例,今天早上我的大脑死了。 问题答案: 请搜索Larry Page和Sergey Brin向全世界发布的Go

  • 本文向大家介绍java 文件上传(单文件与多文件),包括了java 文件上传(单文件与多文件)的使用技巧和注意事项,需要的朋友参考一下 java 文件上传(单文件与多文件) 一、简述 一个javaWeb项目中,文件上传功能几乎是必不可少的,本人在项目开发中也时常会遇到,以前也没怎么去理它,今天有空学习了一下这方面的知识,于是便将本人学到的SpringMVC中单文件与多文件上传这部分知识做下笔记。

  • 文件树就是一个按照层次结构分布的文件集合,例如,一个文件树可以代表一个目录树结构或者一个 ZIP 压缩文件的内容.它被抽象为 FileTree 结构,FileTree 继承自 FileCollection,所以你可以像处理文件集合一样处理文件树, Gradle 有些对象实现了FileTree 接口,例如 源集合. 使用 Project.fileTree() 方法可以得到 FileTree 的实例,

  • 获取指定的文件或文件夹,每次一个。 Loop, FilePattern [, IncludeFolders?, Recurse?] 参数 FilePattern 单个文件或文件夹的名称或者通配符模式,例如 C:\Temp\*.tmp。如果未指定绝对路径则假定 FilePattern 在 %A_WorkingDir%。 支持星号和问号作为通配符使用. 当模式出现在文件的长/普通名称或其 8.3 短名

  • 上传检查 上传文件 获取文件 上传检查 在上传一个文件前对文件进行检查,并创建一个 File with,如果文件存在,当文件存在,则创建一个 with id,不存在抛出 404。 GET /files/uploaded/:hash 响应 Status: 200 OK { "message": "获取成功", "id": 1 } 上传文件 POST /files 输入 名称 类型 描

  • saveFile 基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38 saveFile(Object object) 保存文件到本地。 注意 saveFile 会把临时文件移动,因此调用成功后传入的 tempFilePath 将不可用。 参数 Object object 属性 类型 默认值 必填 说明 tempFilePath string 是 需要保存的文件的临时路

  • 学习如何在Java编程中使用Files。 以下是最常用的示例 - 如何比较两个文件的路径? 如何创建新文件? 如何获取文件的最后修改日期? 如何在指定目录中创建文件? 如何检查文件是否存在? 如何将文件设为只读? 如何重命名文件? 如何获取文件的大小(以字节为单位)? 如何更改文件的上次修改时间? 如何创建临时文件? 如何在现有文件中附加字符串? 如何将一个文件复制到另一个文件? 如何删除文件?