php

Penggunaan fungsi hash dalam PHP

Penggunaan fungsi hash dalam PHP
Keselamatan data sangat penting untuk sebarang aplikasi. Akses data yang tidak dibenarkan boleh merosakkan data aplikasi yang berharga. Sekiranya data dapat diamankan dengan menerapkan enkripsi yang tepat, maka akses data yang tidak sah dapat dicegah. Contohnya, kata laluan pengguna baru perlu disulitkan sebelum disimpan dalam pangkalan data untuk mengelakkan akses pengguna yang tidak dibenarkan dengan mudah. Salah satu cara penyulitan adalah menggunakan fungsi hash. Banyak fungsi hash terbina dalam PHP untuk menyulitkan data. Ia menyulitkan data tanpa mengubah makna asalnya. Beberapa fungsi hash PHP yang biasa digunakan adalah md5 (), sha1 (), dan hash (). Penggunaan fungsi ini dijelaskan dalam tutorial ini.

md5 () Fungsi

Fungsi md5 () menggunakan algoritma Message-Digest untuk penyulitan. Fungsi ini mengira nilai hash md5 dari nilai asal. Sintaks fungsi ini diberikan di bawah.

Sintaks:

rentetan md5 (string $ string, [bool $ raw])

Fungsi ini boleh mengambil dua argumen. Argumen pertama adalah wajib yang digunakan untuk mengambil nilai rentetan yang akan dienkripsi. Argumen kedua adalah pilihan yang digunakan untuk menyimpan sebarang nilai Boolean. Fungsi mengembalikan nombor heksadesimal 32-bit jika argumen pilihan tidak digunakan, dan mengembalikan nombor heksadesimal 16-bit jika nilai pilihannya BENAR.

Contoh: Penggunaan md5 ()

Contoh berikut menunjukkan penggunaan md5 () berfungsi untuk menyulitkan sebarang data. Buat fail PHP dengan skrip berikut untuk melihat bagaimana fungsi ini berfungsi.

Dalam skrip, $ original_string pemboleh ubah digunakan untuk menyimpan nilai rentetan yang dienkripsi kemudian dengan menggunakan md5 () fungsi. Nilai asal dan nilai yang dienkripsi akan dicetak setelah melaksanakan skrip.

// Tentukan nilai rentetan
$ original_string = 'LinuxHint';
// Cetak nilai asal
gema "

Data asal:

". $ original_string;
// Enkripsi nilai rentetan
$ encrypted_string = md5 ($ original_string);
// Cetak nilai yang dienkripsi
gema "

Data yang dienkripsi setelah menggunakan md5 ():

$ encrypted_string ";
?>

Pengeluaran:
Output berikut akan muncul setelah menjalankan skrip dari pelayan. Tiada argumen pilihan digunakan dalam fungsi md5 (). Jadi, output menunjukkan nombor heksadesimal 32-bit sebagai output.

sha1 () Fungsi

Fungsi ini menggunakan Secure Hash Algorithm 1 untuk penyulitan. Sintaks fungsi ini diberikan di bawah.

Sintaks:

string sha1 (string $ string, [bool $ raw])

Fungsi ini boleh mengambil dua argumen seperti algoritma hash md5 (). Argumen pertama mengambil nilai rentetan yang akan dienkripsi. Argumen pilihan mengambil sebarang nilai Boolean. Sekiranya tidak ada argumen pilihan yang dilalui, fungsi tersebut mengembalikan nombor heksadesimal 40 aksara. Sekiranya nilai pilihan ditetapkan ke BENAR, maka fungsi mengembalikan data binari mentah.

Contoh: Penggunaan sha1 ()

Contoh berikut menunjukkan penggunaan sha1 () berfungsi untuk menyulitkan sebarang data. Buat fail PHP dengan skrip berikut untuk melihat bagaimana fungsi ini berfungsi.

Dalam skrip, $ original_string pemboleh ubah digunakan untuk menyimpan nilai rentetan yang dienkripsi kemudian dengan menggunakan sha1 () berfungsi dengan dan tanpa hujah pilihan. Nilai asal dan nilai yang dienkripsi akan dicetak setelah melaksanakan skrip.

// Tentukan nilai rentetan
$ original_string = 'LinuxHint';
// Cetak nilai asal
gema "

Data asal:

". $ original_string;
// Enkripsi nilai rentetan
$ encrypted_string = sha1 ($ original_string);
// Cetak nilai yang dienkripsi
gema "

Data yang dienkripsi setelah menggunakan sha1 ():

$ encrypted_string ";
// Enkripsi nilai rentetan
$ encrypted_string2 = sha1 ($ original_string, BENAR);
// Cetak nilai yang dienkripsi
gema "

Data yang dienkripsi setelah menggunakan sha1 () dengan argumen pilihan:

$ encrypted_string2 ";
?>

Pengeluaran:
Output berikut akan muncul setelah menjalankan skrip dari pelayan. Ia menunjukkan nombor heksadesimal 40 aksara apabila tidak ada argumen pilihan yang digunakan dalam sha1 () fungsi dan output menunjukkan data mentah apabila BENAR digunakan dalam nilai argumen pilihan sha1 () fungsi.

hash () Fungsi

fungsi hash () digunakan untuk menghasilkan nilai hash rentetan tertentu berdasarkan algoritma hash. Sintaks fungsi ini diberikan di bawah.

string atau hash palsu (string $ algoritma, string $ data [, bool $ binary = false])

Fungsi ini boleh mengambil tiga hujah. Argumen pertama mengambil nama algoritma yang akan digunakan untuk menghasilkan nilai hash nilai rentetan yang diberikan dalam argumen kedua. Hujah ketiga adalah pilihan. Fungsi ini mengembalikan digit hex huruf kecil jika nilai pilihannya salah dan mengembalikan data binari mentah jika nilai pilihan itu benar. Banyak algoritma hash wujud di PHP untuk menghasilkan data hash dengan menggunakan fungsi hash (). hash_alogs () fungsi boleh digunakan untuk mengetahui senarai algoritma hash yang ada.

Contoh: Penggunaan hash ()

Contoh berikut menunjukkan penggunaan fungsi hash () untuk menghasilkan nilai hash menggunakan algoritma hash tertentu. Buat fail PHP dengan skrip berikut untuk melihat bagaimana fungsi ini berfungsi.

'ripemd160' algoritma hash digunakan dalam fungsi hash () untuk menghasilkan nilai hash. Fungsi hash () digunakan dengan dan tanpa argumen pilihan dalam skrip. Baik nilai asal dan nilai yang dienkripsi akan dicetak setelah melaksanakan skrip.

// Tentukan nilai rentetan
$ original_string = 'LinuxHint';
// Cetak nilai asal
gema "

Data asal:

". $ original_string;
// Enkripsi nilai rentetan
$ encrypted_string = hash ('ripemd160', $ original_string);
// Cetak nilai yang dienkripsi
gema "

Data yang dienkripsi setelah menggunakan hash ():

$ encrypted_string ";
// Enkripsi nilai rentetan
$ encrypted_string2 = hash ('ripemd160', $ original_string, BENAR);
// Cetak nilai yang dienkripsi
gema "

Data yang dienkripsi setelah menggunakan hash () dengan argumen pilihan:

$ encrypted_string2 ";
?>

Pengeluaran:
Output berikut akan muncul setelah menjalankan skrip dari pelayan. Ini menunjukkan nombor heksadesimal sebagai nilai hash ketika tidak ada argumen pilihan yang digunakan, dan data mentah ketika argumen pilihan digunakan dalam fungsi hash ().

Kesimpulannya

Data penting diperlukan penyulitan untuk pembuatan keselamatan aplikasi web apa pun. Kaedah penyulitan data yang berbeza ditunjukkan dalam tutorial ini dengan menggunakan pelbagai fungsi hash PHP. Penggunaan tiga fungsi hash terbina dalam dijelaskan dalam tutorial ini untuk menghasilkan data yang dienkripsi menggunakan skrip PHP.

OpenTTD vs Simutrans
Membuat simulasi pengangkutan anda sendiri boleh menyeronokkan, santai dan sangat menarik. Itulah sebabnya anda perlu memastikan bahawa anda mencuba s...
Tutorial OpenTTD
OpenTTD adalah salah satu permainan simulasi perniagaan yang paling popular di luar sana. Dalam permainan ini, anda perlu membuat perniagaan pengangku...
SuperTuxKart untuk Linux
SuperTuxKart adalah tajuk hebat yang direka untuk membawa anda pengalaman Mario Kart secara percuma pada sistem Linux anda. Ia cukup mencabar dan meny...