<?php function cryption($hash, $method) { // Method e=encrypt, d=decrypt // Store the cipher method # Für PHP 7.1 noch 128 $ciphering = "AES-128-CTR"; // Use OpenSSl Encryption method $iv_length = openssl_cipher_iv_length($ciphering); $options = 0; // Store the encryption key $key = "!O3JoDLnBI6#[M%4S!sZH1zU0?8+5C_!}"; // Non-NULL Initialization Vector for encryption $vector = '0843413489572156'; if ($method == 'e') { // Use openssl_encrypt() function to encrypt the data $encryption = openssl_encrypt($hash, $ciphering, $key, $options, $vector); return $encryption; } // Store a string into the variable which // need to be Encrypted if ($method == 'd') { // Use openssl_decrypt() function to decrypt the data $decryption = openssl_decrypt($hash, $ciphering, $key, $options, $vector); # kryptische Returnwerte bei falschem String entfernen: Nur Zahlen und Buchstaben #$decryption = preg_replace('![^0-9a-zA-Z]!', '', $decryption); # https://stackoverflow.com/questions/1176904/php-how-to-remove-all-non-printable-characters-in-a-string $decryption = preg_replace('/[\x00-\x1F\x7F-\xFF]/', '', $decryption); return $decryption; } } #$crypt = cryption("!DWdMiU#", 'e'); #echo $crypt; #echo "<br>"; #echo cryption($crypt, 'd'); ?>