【发布时间】:2019-08-27 05:40:47
【问题描述】:
正如标题所示,我很难通过表单公开传递 nonce 的值。我尝试在表单中使用隐藏字段并将值作为参数传递给 url。
nonce 是使用以下方法创建的:
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES)
当我尝试从隐藏字段 (POST) 或 url (GET) 中使用检索到的值(例如 sodium_crypto_secretbox_open)时,会返回以下错误:
未捕获的 SodiumException:nonce 大小应为 SODIUM_CRYPTO_SECRETBOX_NONCEBYTES 字节
我很欣赏 nonce 字符串的大小受到影响,但我不知道如何解决这个问题。
当我回显检索到的 nonce 时,它看起来很好。在随机数被回显后似乎存在一个问题,即它会改变大小并且被认为不适合被钠使用。
任何建议将不胜感激。
【问题讨论】:
-
urldecode可能在尝试在服务器端处理它之前 -
@RamRaider 为这个建议喝彩,我试过了,但不幸的是没有快乐。
标签: php encryption nonce libsodium sodium