Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将哈希密码与SETAPDF的密码保护PDF一起使用?_Php_Encryption_Hash_Password Hash_Setapdf - Fatal编程技术网

Php 如何将哈希密码与SETAPDF的密码保护PDF一起使用?

Php 如何将哈希密码与SETAPDF的密码保护PDF一起使用?,php,encryption,hash,password-hash,setapdf,Php,Encryption,Hash,Password Hash,Setapdf,我正在使用一个名为 我们的密码使用散列,我正在尝试将散列密码与setasign PDF api一起使用。在文档中,我看到它们支持加密,但我找不到任何关于哈希的内容。有没有办法在验证密码散列的文档上实现密码保护 我们的散列使用以下密码\u hashpassword,CRYPT\u BLOWFISH$选项;通常在这种情况下,您会使用密码验证,但我看不到使用setasign api实现密码验证的方法。主要问题与SetaPDF无关,但您正在搜索PDF格式的功能,该功能根本不可用。您需要一个安全处理程序,

我正在使用一个名为

我们的密码使用散列,我正在尝试将散列密码与setasign PDF api一起使用。在文档中,我看到它们支持加密,但我找不到任何关于哈希的内容。有没有办法在验证密码散列的文档上实现密码保护


我们的散列使用以下密码\u hashpassword,CRYPT\u BLOWFISH$选项;通常在这种情况下,您会使用密码验证,但我看不到使用setasign api实现密码验证的方法。

主要问题与SetaPDF无关,但您正在搜索PDF格式的功能,该功能根本不可用。您需要一个安全处理程序,它在用于计算加密密钥之前对输入进行散列。这根本不是标准PDF加密的一部分

标准的PDF加密算法从纯文本密码开始


除了为PDF查看器(例如PDF.js)编写自己的逻辑来修改输入哈希值,然后再将其传递给计算加密密钥的算法之外,您无能为力。

是否不可能从用户处获取输入,对其进行哈希,然后将该哈希值用作密码,在创建文件和打开文件时?你的问题有点难以理解;所以你有一个加密的PDF文件,在你的PHP可以编辑这个文件之前,你需要解密它?你试过了吗?。如果您拥有原始密码,它将准确地显示如何打开加密的PDF。如果您没有原始密码,则无法访问PDF进行编辑。@Holdoff如果您不正确,则说明散列的重复性;盐呢。每个密码散列都使用salt,以避免您在这里演示的重复。因此,同一个密码会因为盐分而产生许多散列。@holdoff饥饿;非常感谢。我很了解盐和杂烩。使用密码明文和salt生成带有PHP密码的散列。这意味着相同的明文使用此方法创建许多不同的哈希。这意味着你之前关于散列重复的评论在这里不成立。我一直在研究它,我们应该使用加密而不是在数据库中散列密码吗?这样,我们至少可以对密码保护的手册进行解密。这是我认为唯一有效的解决方案。我不确定你是否真的想知道用户的密码?您只需重新请求密码,根据保存的hash+salt组合验证密码,如果可以,则使用密码对PDF文档进行加密。这样,您只知道用户密码的时间很短,无需将其保存在您的终端。另一种方法是PDF加密的单独密码,完全由您控制,这样就不会与用户的任何其他个人密码混合。是的,但是,似乎没有办法通过SETASIGN的API进行验证。我无法使用该API验证哈希。为什么要使用SetaPDF验证,以及要验证什么?你不是在储存杂烩+盐吗?如果这与传递的密码匹配,只需使用密码加密PDF即可。