php - 如何确定 PHP password_hash 函数是否支持“线程”选项?
问题描述
对于 PHP 函数password_hash手册说传递线程数是“仅当 PHP 使用 libargon2 时可用,而不是 libsodium 实现。”。
如果在不可用时设置了线程选项,则会给出错误。
对于库代码,如何在运行时确定线程选项是否可用?
解决方案
该PASSWORD_ARGON2_DEFAULT_THREADS
常量仅在使用 libargon2 时定义:
PASSWORD_ARGON2_DEFAULT_THREADS Argon2lib 将使用的默认线程数。不适用于 libsodium 实现。
所以你可以测试常量是否存在:
if(defined('PASSWORD_ARGON2_DEFAULT_THREADS'))
{
// Set the number of threads
...
}
推荐阅读
- python - 以pythonic方式加载具有相关特征集的多个保存的机器学习模型
- c# - Google Play 游戏排行榜发布分数报告成功但不更新
- python - 使用多根工作区时如何为 Python 语言服务器指定正确的 Python 版本
- r - 图例在 ggplot 中添加了不确定性
- c# - C# ListView:如何正确连接
- python - Python - 使用 Numpy 快速升级数组,不允许图像库
- botframework - 将 Azure Bot 连接到 Slack - 错误“未提供消息文本”
- rust - 如何为实现 AsRef 的任何类型实现 From 特征
? - microservices - Pivotal Cloud Foundry - 使用 Service Registry:容器到容器的通信被阻止
- c# - 使用文本框 C# winform 的 KeyPress 事件