Rumah >pembangunan bahagian belakang >tutorial php >Artikel yang menerangkan secara terperinci cara melaksanakan penyulitan AES-128-CBC-PKCS5Padding dalam PHP
menyulitkan data perniagaan antara muka, dan kemudian AES-128-CBC-PKCS5Padding
mengekod rentetan yang terhasil dan menyerahkannya, dan kunci serta kunci yang sepadan dengan kaedah penyulitan juga diberikan. Vektor permulaan (offset). Base64
Tutorial video PHP]
Fungsi pelaksanaan adalah seperti berikut:
function encrypt($input, $key, $iv){ return base64_encode(openssl_encrypt($input, 'AES-128-CBC', $key, OPENSSL_RAW_DATA,$iv)); } // 解密 function decrypt($input, $key, $iv){ return openssl_decrypt(base64_decode($input), 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv); } // 测试加密 (我这里用的是json字符串) $dataJson = '[{"Code": "123123", "Name": "Bob", "Address": "\u94f6\u5ddd\u5e02"}, {"Code": "464776", "Name": "Hello", "Address": "\u5317\u4eac\u5e02"}]'; print_r(encrypt($dataJson, $key, $iv)); //u9Bd8oHXDGvjZcTIX9HK1r1q+aSu+/48gsfoGVrxoScZuX8yaj/xco8F2yHt2T987JNHil9LwjAmu9o5NJaicWQDaiKwMD5o70k1A9bGjDd71xb4hXRx3ddZwI85oTQQEUQLadR5C759SdaN8AOxlzH+yGlAWTOaEleulKoRTwaknG1NCM/qIRQ8gI5lzv+D // 测试解密 $strr = 'u9Bd8oHXDGvjZcTIX9HK1r1q+aSu+/48gsfoGVrxoScZuX8yaj/xco8F2yHt2T987JNHil9LwjAmu9o5NJaicWQDaiKwMD5o70k1A9bGjDd71xb4hXRx3ddZwI85oTQQEUQLadR5C759SdaN8AOxlzH+yGlAWTOaEleulKoRTwaknG1NCM/qIRQ8gI5lzv+D'; print_r(decrypt($strr, $key, $iv)); // [{"Code": "123123", "Name": "Bob", "Address": "\u94f6\u5ddd\u5e02"}, {"Code": "464776", "Name": "Hello", "Address": "\u5317\u4eac\u5e02"}]Saya lulus ujian kendiri dan duduk dan menunggu penyahpepijatan bersama dengan wajah bangga. Kemudian saya mula menulis tentang perniagaan lain Selepas beberapa hari, penyahpepijatan bersama mendapati bahawa pihak lain tidak dapat menyahsulit apa yang saya disulitkan, dan saya tidak dapat menyahsulit apa yang disulitkan oleh pihak lain Selepas mencari isu berkaitan di Google, saya menemui ayat, Maksud umum ialah dalam perpustakaan penyulitan mcrypt yang ditinggalkan, 128 sebenarnya merujuk kepada saiz blok dan bukannya saiz kunci, tetapi dalam aes-128-cbc dalam openssl, 128 merujuk kepada saiz kunci, iaitu, apabila menggunakan kunci 256-bit yang sah, semuanya adalah aes-256, dan jika anda ingin menukar mcrypt kepada kaedah penyulitan openssl, mcrypt's 128 perlu ditulis sebagai openssl's 256, jadi saya menukarnya dengan sikap mencuba aes-128-cbc adalah aes-256-cbc, dan kemudiannya dinyahpepijat, dan akhirnya mendapati bahawa penyahpepijatan bersama telah berlalu, tetapi butiran teknikal tertentu masih belum jelas dan kaji kemudian bila kita ada masa.
Atas ialah kandungan terperinci Artikel yang menerangkan secara terperinci cara melaksanakan penyulitan AES-128-CBC-PKCS5Padding dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!