Est-ce que quelqu'un sait la différence entre mcrypt_generic et mcrypt_encrypt quand il s'agit de cryptage en PHP?mcrypt_generic vs mcrypt_encrypt
6
A
Répondre
6
mcrypt_encrypt()
combine la fonctionnalité de plusieurs méthodes, alors que mcrypt_generic()
doit être appelée dans une certaine séquence d'autres appels mcrypt_*
. Vous utiliseriez mcrypt_generic()
si vous aviez besoin de la flexibilité de l'API de niveau inférieur, alors que mcrypt_encrypt()
agit comme un utilitaire de niveau supérieur.
Cet exemple dans la documentation PHP montre une bonne comparaison entre les deux approches API. Il se réfère à mcrypt_ecb()
, mais pour les besoins de cette comparaison, vous pouvez le considérer comme similaire à mcrypt_encrypt()
.
De 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);
Ou:
$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);