libsodium WAS工作正常,但现在我设法打破它并且无法找到如何破坏它。
安装了亚马逊AWS Ubuntu Xenial,安装了libsodium18,安装了Ondrej Sury PPA的php-sodium,但我现在没有工作了:
未定义的常数'钠\ CRYPTO_SECRETBOX_NONCEBYTES'
令人讨厌的是,它在Zesty中很好但是还没有稳定的AWS Zesty图像。我确定我已经忘记了一些简单的事情,但它已经停止了工作。
答案 0 :(得分:2)
找到它。
PHP钠函数名称已更改,因此您现在必须调用 sodium_crypto_secretbox_open()
,而不是调用 \ Sodium \ crypto_secretbox_open()我真的希望这篇文章可以帮助别人避免过去24小时内我所怀疑的悲伤,我想知道我会做什么......这可能是唯一的事情在互联网上实际上指出了这一变化,谷歌发现......
修订后的函数名称和常量都列在https://paragonie.com/book/pecl-libsodium/read/01-quick-start.md
答案 1 :(得分:0)
项目描述解释了这些变化背后的原因:https://github.com/jedisct1/libsodium-php
还有一个提供旧界面的polyfill:https://github.com/mollie/polyfill-libsodium
但是,使用此polyfill不能使用新的libsodium API。
对不起,我无法维护这两个版本。我希望我们可以继续使用原始的命名空间版本。