Nouveau
66 points
1
J'ai une valeur que je veux crypter tout en ayant la possibilité de la décrypter par la suite, avez-vous une idée ? Merci.


1
/**
 * Une fonction de cryptage
 *
 * @var $value La valeur à crypter
 * @return La valeur cryptée
 * 
 */

public static function crypter($value)
{
    if(!$value){
        return false;
    }

    $text = $value;
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, self::$skey, $text, MCRYPT_MODE_ECB, $iv);
    $data = base64_encode($crypttext);
    $data = str_replace(array('+','/','='),array('-','_',''),$data);
    return trim($data);
}

/**
 * Une fonction de décryptage
 *
 * @var $value La valeur à décrypter
 * @return La valeur décryptée
 *
 */

public static function decrypter($value)
{
    if(!$value){
        return false;
    }
    $data = str_replace(array('-','_'),array('+','/'),$value);
    $mod4 = strlen($data) % 4;
    if ($mod4) {
        $data .= substr('====', $mod4);
    }
    $crypttext = base64_decode($data);
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, self::$skey, $crypttext, MCRYPT_MODE_ECB, $iv);
    return trim($decrypttext);
}

Votre réponse

Pour répondre, vous devez Se connecter ou Créer un compte.