function encrypt($plaintext ) { // hash the key to a fixed length $hashed_key = hash('sha256', 'kDLTzj2QGCenCXW8s44h4ddDjeJiuSP2', true); // pad the plaintext with whitespace to be a multiple of 16 bytes $padded_plaintext = str_pad($plaintext, strlen($plaintext) + 16 - strlen($plaintext) % 16); // encrypt the padded plaintext with the hashed key $iv = openssl_random_pseudo_bytes(16); $ciphertext = openssl_encrypt($padded_plaintext, 'AES-256-CBC', $hashed_key, OPENSSL_RAW_DATA, $iv); $ciphertext = base64_encode($iv . $ciphertext); return $ciphertext; } function decrypt($ciphertext) { // hash the key to a fixed length $hashed_key = hash('sha256', 'kDLTzj2QGCenCXW8s44h4ddDjeJiuSP2', true); // decrypt the ciphertext with the hashed key $ciphertext = base64_decode($ciphertext); $iv = substr($ciphertext, 0, 16); $ciphertext = substr($ciphertext, 16); $padded_plaintext = openssl_decrypt($ciphertext, 'AES-256-CBC', $hashed_key, OPENSSL_RAW_DATA, $iv); $plaintext = rtrim($padded_plaintext, "\0"); return $plaintext; } ?>