Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Dapatkan Kata Laluan Disulitkan dengan Selamat dalam PHP?
Pendapatan Kata Laluan Selamat: Melangkaui Penyulitan dan Pencirian
Walaupun penting untuk memastikan keselamatan data, menyimpan maklumat sensitif seperti kata laluan menimbulkan cabaran unik. Menyulitkannya untuk mendapatkan semula kemudian mungkin kelihatan berlawanan dengan intuisi, kerana intipati penyulitan terletak pada menjadikan data tidak boleh diakses. Walau bagaimanapun, strategi penyulitan dan penyahsulitan yang ditakrifkan dengan baik boleh mengatasi halangan ini.
Dalam PHP, anda tidak boleh menggunakan fungsi cincang seperti bcrypt untuk kata laluan kerana ia merupakan penukaran sehala, menjadikan pengambilan semula mustahil. Untuk menangani perkara ini, pertimbangkan untuk menggunakan gabungan kaedah penyulitan dan perebutan yang membolehkan anda mendapatkan semula kata laluan asal sambil mengekalkan keselamatannya.
Penyelesaian Penyulitan Komprehensif
Untuk selamat menyulitkan dan menyahsulit kata laluan, pertimbangkan PHP berikut kod:
$key = 'password to (en/de)crypt'; $string = ' string to be encrypted ';
// Encryption $iv = mcrypt_create_iv( mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_DEV_URANDOM ); $encrypted = base64_encode( $iv . mcrypt_encrypt( MCRYPT_RIJNDAEL_128, hash('sha256', $key, true), $string, MCRYPT_MODE_CBC, $iv ) );
// Decryption $data = base64_decode($encrypted); $iv = substr($data, 0, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)); $decrypted = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_128, hash('sha256', $key, true), substr($data, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)), MCRYPT_MODE_CBC, $iv ), "" );
Pertimbangan Penting
Adalah penting untuk ambil perhatian bahawa kod yang disediakan menyulitkan maklumat tetapi tidak mengesahkan teks sifir untuk mengelakkan gangguan . Untuk keselamatan yang dipertingkatkan, adalah disyorkan untuk tidak bergantung semata-mata pada penyulitan yang tidak disahkan.
Sumber Tambahan
Terokai sumber berikut untuk maklumat lanjut cerapan:
Awas: Keselamatan Kunci Penyulitan
Jangan sekali-kali menggunakan "kata laluan" sebagai kunci penyulitan; kunci penyulitan hendaklah rentetan rawak.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Kata Laluan Disulitkan dengan Selamat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!