【问题标题】:mcrypt_generic vs mcrypt_encryptmcrypt_generic 与 mcrypt_encrypt
【发布时间】:2011-02-15 22:37:16
【问题描述】:

谁知道在 PHP 中加密时 mcrypt_generic 和 mcrypt_encrypt 之间的区别?

【问题讨论】:

    标签: php mcrypt


    【解决方案1】:

    mcrypt_encrypt() 结合了几种方法的功能,而mcrypt_generic() 必须在其他mcrypt_* 调用的特定序列中调用。如果您需要较低级别 API 的灵活性,您可以使用 mcrypt_generic(),而 mcrypt_encrypt() 充当较高级别的实用程序。

    PHP 文档中的这个示例很好地比较了两种 API 方法。它指的是mcrypt_ecb(),但为了进行比较,您可以认为它类似于mcrypt_encrypt()

    来自http://us.php.net/manual/en/mcrypt.examples.php

    $key = "this is a secret key";
    $input = "Let us meet at 9 o'clock at the secret place.";
    
    $encrypted_data = mcrypt_ecb (MCRYPT_3DES, $key, $input, MCRYPT_ENCRYPT);
    

    或者:

    $key = "this is a secret key";
    $input = "Let us meet at 9 o'clock at the secret place.";
    
    $td = mcrypt_module_open('tripledes', '', 'ecb', '');
    $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    mcrypt_generic_init($td, $key, $iv);
    $encrypted_data = mcrypt_generic($td, $input);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 那么我们现在应该使用什么?添加该信息将使您的问题更有帮助。
      猜你喜欢
      • 2011-12-28
      • 2011-11-13
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 2015-07-13
      • 2016-02-17
      相关资源
      最近更新 更多