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; } }