5

PHPでの暗号化に関して、mcrypt_genericとmcrypt_encryptの違いを知っている人はいますか?

4

2 に答える 2

6

mcrypt_encrypt()はいくつかのメソッドの機能を組み合わせていますがmcrypt_generic()、他の呼び出しの特定のシーケンス内で呼び出す必要がありmcrypt_*ます。mcrypt_generic()下位レベルの API の柔軟性が必要な場合に使用しますがmcrypt_encrypt()、上位レベルのユーティリティとして機能します。

PHP ドキュメントのこの例は、2 つの 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);
于 2010-05-06T06:36:57.207 に答える