Clase PHP para encriptar y desencriptar

Función que utilizo para encriptar y desencriptar cosas en PHP, hay dos modos uno que esta siendo obsoleto a partir de PHP 7.1 y uno que funciona en todas las versiones

class Encrypter {
    private static $Key = 'contraseña para encriptar';
    private static $method = 'AES-256-CBC';
    private static $iv_size = 16;

    public static function encrypt($input) {
        $output = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5(Encrypter::$Key), $input, MCRYPT_MODE_CBC, md5(md5(Encrypter::$Key))));
        return $output;
    }

    public static function decrypt($input) {
        $output = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5(Encrypter::$Key), base64_decode($input), MCRYPT_MODE_CBC, md5(md5(Encrypter::$Key))), "\0");
        return $output;
    }

    public static function encryptSSL($input){
    	$iv = openssl_random_pseudo_bytes(self::iv_size);
    	$encryptedMessage = openssl_encrypt($input, self::method, self::Key, 0, $iv);
    	return $iv.$encryptedMessage;
    }

    public static function decryptSSL($input){
    	$iv = substr($input, 0, self::iv_size);
    	$decryptedMessage = openssl_decrypt(substr($input, self::iv_size), self::method, self::Key, 0, $iv);
    	return $decryptedMessage;
    }
}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Captcha cargando...