gpt4 book ai didi

PHP - 用 openssl_random_pseudo_bytes() 替换 mcrypt_create_iv()

转载 作者:可可西里 更新时间:2023-11-01 12:35:02 27 4
gpt4 key购买 nike

我需要提高我们网站的安全性,目前正在使用此处的指南:http://crackstation.net/hashing-security.htm ,以及此处生成的随 secret 码:https://defuse.ca/generating-random-passwords.htm .我收集到两者都使用函数 mcrypt_create_iv() 生成随机字节(或位?),但出于某种原因,我在 CentOS 6 下安装 php-mcrypt 时遇到错误。幸运的是,第一个链接说openssl_random_pseudo_bytes() 是一个 CSPRNG(PHP 文档和其他来源也支持该声明),并且在当前服务器安装的 PHP 5.4 上可用,所以我别无选择,只能在此时此刻。考虑到这些,我想问以下问题:

  1. 在不影响安全性的情况下,直接代码替换是否足够? (也就是说,只需将对 mcrypt_create_iv() 的调用替换为 openssl_random_pseudo_bytes() 即可?)

  2. 关于代码 (http://crackstation.net/hashing-security.htm#properhashing) 中提到的常量,指南说“[m]确保你的盐至少与哈希函数的输出。”我假设 PBKDF2_SALT_BYTESPBKDF2_HASH_BYTES 都设置为 24 字节是否正确,因为 pbkdf2() 函数的输出仅为 24 字节,而不是 32(对于 256 位),因为使用的底层算法是 sha256? (是的,我也在使用键拉伸(stretch)。)在相关说明中,24 字节是否合适,或者应该增加/减少,这会有什么影响?

非常感谢那些愿意回答的人。

最佳答案

  1. 我认为安全性不会受到影响,因为这两个函数只是加密安全的伪随机数生成器(注意:openssl_random_pseudo_bytes($len, true)mcrypt_create_iv($len, MCRYPT_DEV_RANDOM)).
  2. PBKDF2_SALT_BYTES 仅用于测试函数 create_hash() 而不是 pbkdf2() 本身。因此,您只需使用这些 CSPRNG 实现您自己的盐生成函数即可。

关于PHP - 用 openssl_random_pseudo_bytes() 替换 mcrypt_create_iv(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12241418/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com