【问题标题】:Getting all possible key sizes for PHP MCrypt Ciphers获取 PHP MCrypt 密码的所有可能的密钥大小
【发布时间】:2015-09-03 20:30:11
【问题描述】:

我正在创建公共包,那里有一些加密,我让开发人员选择密码类型和模式,并为包的加密部分设置密钥。 现在我需要在 MCrypt 函数中使用它之前检查密钥大小。 所以我要知道的是:

1) 密码的所有可能密钥大小。

2) 给定密钥的字节大小。

或者如果你有更好的方法,请分享。

【问题讨论】:

    标签: php encryption mcrypt


    【解决方案1】:
    • 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) 检索给定字符串中的字节(应该被解码)。

    【讨论】:

      猜你喜欢
      • 2014-07-15
      • 2011-05-02
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      • 2012-06-26
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多