【发布时间】:2015-09-03 20:30:11
【问题描述】:
我正在创建公共包,那里有一些加密,我让开发人员选择密码类型和模式,并为包的加密部分设置密钥。 现在我需要在 MCrypt 函数中使用它之前检查密钥大小。 所以我要知道的是:
1) 密码的所有可能密钥大小。
2) 给定密钥的字节大小。
或者如果你有更好的方法,请分享。
【问题讨论】:
标签: php encryption mcrypt
我正在创建公共包,那里有一些加密,我让开发人员选择密码类型和模式,并为包的加密部分设置密钥。 现在我需要在 MCrypt 函数中使用它之前检查密钥大小。 所以我要知道的是:
1) 密码的所有可能密钥大小。
2) 给定密钥的字节大小。
或者如果你有更好的方法,请分享。
【问题讨论】:
标签: php encryption mcrypt
mcrypt_list_algorithms() 为您提供密码列表mcrypt_module_get_supported_key_sizes($cipher) 为您提供支持的密钥大小(如果密钥大小是连续的,则为空)mcrypt_module_get_algo_key_size($cipher) 为您提供最大密钥大小,以防前一个函数不返回任何内容所有密钥大小都以字节为单位。
例子:
$algorithms = mcrypt_list_algorithms();
foreach ($algorithms as $cipher) {
echo "$cipher:\n";
$keysizes = mcrypt_module_get_supported_key_sizes($cipher);
if (count($keysizes) == 0) {
$max = mcrypt_module_get_algo_key_size($cipher);
echo " max: $max\n";
} else {
foreach ($keysizes as $keysize) {
echo " $keysize\n";
}
}
echo "\n";
}
使用strlen($input) 检索给定字符串中的字节(应该被解码)。
【讨论】: