rreeee
Menggunakan dua fungsi ini untuk menyulitkan dan menyahsulit data, hanya penyulitan saya yang berfungsi.
function encrypt($string, $key) { $method = "BF-CBC"; $iv = random_bytes(openssl_cipher_iv_length($method)); $options = 0; $key = hash("sha256", $key); return openssl_encrypt($string, $method, $key, $options, $iv); } function decrypt($string, $key) { $method = "BF-CBC"; $iv = random_bytes(openssl_cipher_iv_length($method)); $options = 0; $key = hash("sha256", $key); return openssl_decrypt($string, $method, $key, $options, $iv); }
Saya telah mencuba segala-galanya, walaupun menulis semula fungsi beberapa kali, tetapi nampaknya tiada apa-apa yang berkesan.
$iv
Pilihan mempunyai "Vektor Permulaan", yang bertindak sedikit seperti garam: ia memberikan keadaan awal yang berbeza untuk setiap mesej, untuk menjamin hasil yang berbeza untuk menyulitkan mesej yang sama dua kali.Sama seperti garam, IV harus dipilih secara rawak apabila menyulitkan mesej dan kemudian dihantar atau disimpan dengan mesej supaya nilai yang sama boleh diberikan semasa menyahsulit mesej.
Anda mungkin mahu fungsienkripsi anda ditambah
加密
函数将$iv
附加到输出,并解密
pada output dannyahsulit
untuk memisahkannya.