Artikel ini membawakan anda pengetahuan yang berkaitan tentang PHP terutamanya isu yang berkaitan dengan penyulitan simetri dan penyahsulitan PHP. Mari kita lihat bersama-sama.
1. sambungan mcrypt atau sambungan openssl?
php7 telah meninggalkan sambungan mcrypt dan mengesyorkan menggunakan openssl untuk penyulitan dan penyahsulitan
2 DES, 3DES, AES?
DES. Merupakan algoritma penyulitan simetri yang lebih lama. Keselamatannya tidak lagi memenuhi keperluan semasa, dan prestasinya lebih teruk daripada AES.
Intipati 3DES juga adalah DES, tetapi ia disulitkan tiga kali berdasarkan DES Pada asasnya sama seperti di atas apabila memilih teknologi, cuba elakkan kedua-dua algoritma sulit ini
AES ialah Piawaian Penyulitan Lanjutan (Piawaian Penyulitan Lanjutan) ialah algoritma penyulitan simetri yang kini digunakan secara meluas. AES sangat selamat dan mempunyai prestasi tinggi.
3 AES-128-X, AES-196-X atau AES-256-X?
128,196,256 bermaksud panjang kunci
128 ialah 128bit 16 bait, seperti kunci ini: 1234123412341234
Jika kunci melebihi 16 bait, bahagian tambahan akan diabaikan terus
4 🎜>
Mod ini memerlukan nilai vektor iv, yang lebih selamat daripada ECB [Kajian yang disyorkan: "ECB Electric CodeBook 电码本模式 CBC Cipher Block Chaining 密码分组链接模式
$my_method = 'aes-128-cbc'; //算法 $key = "1234567812345678"; //128bit秘钥 $data = "asxsaxasdlkasjdiqi"; //输入算法获取向量长度 $iv_length = openssl_cipher_iv_length( $my_method ); //根据长度获取向量 函数会给$cstrong赋bool值,判断是否使用了强加密算法,一般为true $iv = openssl_random_pseudo_bytes( $iv_length, $cstrong ); //加密 $enc_data = openssl_encrypt($data, $my_method, $key, OPENSSL_RAW_DATA, $iv); //解密 $dec_data = openssl_decrypt($enc_data, $my_method, $key, OPENSSL_RAW_DATA, $iv);
CFB Cipher FeedBack 密码反馈模式 OFB Output FeedBack 输出反馈模式 CTR Counter Mode 计算器模式
Atas ialah kandungan terperinci 5 Soalan dan Jawapan mengenai Penyulitan dan Penyahsulitan Simetri PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!