nem*_*ems 11 php openssl cryptography vector
我正在研究一些加密的东西.
我知道以下事情(来源=维基百科):
初始化矢量应该是:
我的问题是,如何使用OPENSSL和PHP安全地生成IV?我知道lib mcrypt中存在这样的功能(http://fr2.php.net/manual/fr/function.mcrypt-create-iv.php)
我没有找到任何与OPENSSL这样做的东西(产生独特且不可预测的IV).
使用openssl_random_pseudo_bytes
(最好将第二个参数设置为现有变量,然后应测试它是否设置为TRUE
).这将生成具有适当随机性特征的IV.
$wasItSecure = false;
$iv = openssl_random_pseudo_bytes(16, $wasItSecure);
if ($wasItSecure) {
// We're good to go!
} else {
// Insecure result. Fail closed, do not proceed.
}
Run Code Online (Sandbox Code Playgroud)
或者,PHP 7提供random_bytes()
了更简单的功能.
归档时间: |
|
查看次数: |
15175 次 |
最近记录: |