gottesdienst/config/func_cryption.php
2023-03-14 07:16:04 +01:00

46 lines
1.5 KiB
PHP

<?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');
?>