Pada tutorial kali ini saya akan membahas tentang kriptografi yaitu tentang Bagaimana Cara Menggunakan Hash SHA512 Pada PHP, sebelumnya bagi yang belum tahu tentang kriptografi , kriptografi adalah sebuah senin untuk menyembunyikan pesan rahasia atau data rahasia, pada perakteknya dalam dunia teknologi informasi kriptografi di lakukan dengan
Nah bagi yang sudah tahu apa itu enkripsi pada PHP pasti pernah menggunakanya untuk membuat program saat login karena password agar tetap aman harus menggunakan enkripsi, PHP memiliki fungsi atau fungsi bawaan untuk melakukan enkripsi. Ada banyak jenis enkripsi mulai dari MD5, SH1 dan lainnya,
Pada kali ini saya akan meberikan enkripsi bawaan PHP yang lebih kuat di bandingkan dengan SH1 yaitu SHA512, lalu bagaimana cara menggunakanya ?
Berikut adalah caranya
<?php $pass = "blockb"; echo hash('sha512', $pass); ?>Lalu akan menghasilkan data sebagai berikut
8e5bcce2e84b8d75b882183d90fb4a6b8864abd05cf4ce56cd2e27e9046eb53f49209cc7c69c56d07c308997dc5a5185ef8ac2b60336434c3d4c9d2f82d7eb6c
Baiklah teman-teman itu saja dari saya tentang artikel Bagaimana Cara Menggunakan Hash SHA512 Pada PHP, semoga bermanfaat dan sampai bertemu pada artikel selanjutnya
Jika Anda menyukai apa yang Anda baca, harap pertimbangkan untuk membelikan kami kopi ( atau 2 ) sebagai tanda penghargaan
Jangan lupa untuk membagikan artikel ini. Bantu kami menyebarkan berita dengan mengklik tombol bagikan di bawah ini
Kami menghargai dukungan Anda dan berkomitmen untuk memberikan Anda konten yang berharga dan informatif
Kami berterima kasih atas dukungan Anda yang tidak pernah berakhir
Fungsi crypt() di PHP memungkinkan Anda menghasilkan hash dari string yang ditentukan menggunakan berbagai algoritme hashing
Beberapa hash yang didukung fungsi ini termasuk blowfish, SHA-256, dan MD5
Jika Anda berencana menggunakan ini untuk mengenkripsi kata sandi, sebaiknya gunakan fungsi pi6 sebagai gantinya. Fungsi ini adalah pembungkus untuk fungsi crypt() PHP tetapi menggunakan enkripsi yang kuat dan garam yang kuat secara default
Selama beberapa bagian berikut, kami akan menunjukkan cara menggunakan fungsi crypt() untuk menghasilkan setiap hash yang didukung untuk string yang dipilih. Karena ini dikontrol melalui parameter "garam", ini bukanlah fungsi yang paling mudah digunakan
Sintaks Fungsi crypt() PHP
Mari kita mulai dengan mengeksplorasi sintaks fungsi crypt di dalam PHP. Sintaks menunjukkan kepada kita bagaimana fungsi ini ditulis dan akan memberi Anda ide dasar untuk menggunakannya
Dengan sintaks ini, Anda dapat melihat bahwa fungsi crypt() memiliki dua parameter dan mengembalikan sebuah string yang akan menjadi hash Anda
crypt(string $string, string $salt): string- pi_7 – Parameter ini adalah tempat Anda menentukan string yang ingin di-hash oleh PHP
Bergantung pada tipe hash, string ini mungkin terpotong selama pembuatan hash, artinya tidak akan mempertimbangkan seluruh string - pi_8 – Anda akan menggunakan garam untuk menentukan metode hashing serta “garam” yang diterapkan pada hash
Garam adalah cara mengubah hasil hash. Anda hanya dapat menghasilkan hash yang sama dengan garam yang sama. Ini untuk mencegah seseorang menghasilkan banyak hash untuk kemungkinan kata sandi dan mendapatkan kecocokan dengan sangat cepat
Fungsi crypt() akan mengembalikan versi hash dari string yang Anda lewati. Panjang string ini sangat bergantung pada garam apa yang Anda berikan ke fungsi crypt
Metode Hash yang didukung untuk PHP
Seperti disebutkan sebelumnya, fungsi crypt di PHP memiliki dukungan untuk beberapa metode hashing yang berbeda. Metode hash ditentukan melalui parameter salt menggunakan sekumpulan karakter tertentu
Kami akan membahas setiap jenis hash yang didukung dan bagaimana mereka ditentukan di bagian berikut. Anda harus meneliti mana yang paling sesuai dengan kebutuhan Anda
CRYPT_STD_DES
Hash pertama yang akan kita lihat adalah hash berbasis Standard DES. Hash ini ditentukan menggunakan garam 2 karakter
Karakter yang valid untuk jenis hash ini adalah “pi9“, “_Pi..SALT0” “_Pi..SALT1” “_Pi..SALT2” dan _Pi..SALT3“
Misalnya, PHP akan mempertimbangkan garam berikut yang valid untuk hash “_Pi..SALT4”.
pi_CRYPT_EXT_DES
Versi lanjutan dari hash berbasis DES memiliki beberapa keuntungan, termasuk dukungan untuk garam yang lebih panjang
Salt untuk metode hashing ini harus sepanjang sembilan karakter dan dimulai dengan karakter garis bawah (_Pi..SALT5)
Algoritme menggunakan empat karakter pertama setelah garis bawah sebagai hitungan iterasi. Setiap karakter adalah 6-bit, dengan karakter pertama yang paling tidak signifikan
Empat karakter berikutnya adalah garam yang diterapkan pada hash Anda
Nilai-nilai ini dikodekan dari 0 hingga 64 menggunakan karakter “pi9 _Pi..SALT0 _Pi..SALT1 _Pi..SALT2 $1$PIMYLIFE$0“. Titik (pi_9) akan menjadi 0, dan huruf kecil $1$PIMYLIFE$2 akan menjadi “$1$PIMYLIFE$3“
Di bawah ini adalah contoh pengaturan hash “$1$PIMYLIFE$4” menggunakan parameter salt dari fungsi crypt() PHP
_Pi..SALT_CRYPT_MD5
Hash lain yang didukung oleh fungsi crypt() PHP adalah MD5. Meskipun sekarang dianggap sebagai hash yang relatif lemah, namun masih digunakan di luar keamanan
Anda juga dapat menggunakan fungsi md5() di PHP untuk mencapai hal yang sama seperti menggunakan tipe hash ini
Untuk menentukan hash MD5 dengan fungsi ini, Anda harus memulai garam Anda dengan "$1$PIMYLIFE$5" (pengidentifikasi hash) diikuti oleh delapan karakter (garam), dan terakhir akhiri string dengan simbol tanda dolar lainnya ($1$PIMYLIFE$6)
Berikut adalah contoh pengaturan garam MD5 dengan fungsi crypt() di PHP
$1$PIMYLIFE$CRYPT_BLOWFISH
Fungsi crypt() juga mendukung versi bcrypt dari cipher blowfish yang dirancang sebagai alternatif yang solid untuk standar DES yang menua. Jika Anda mengenkripsi data seperti kata sandi, ini adalah algoritme yang mungkin ingin Anda gunakan di PHP
Berkat desain algoritme, Anda dapat membuat hash semakin kuat dari waktu ke waktu dengan meningkatkan jumlah iterasi. Ini memperkuat hash karena membutuhkan lebih banyak kekuatan pemrosesan untuk menghasilkan hash yang memperlambat proses. Sayangnya, algoritme cepat tidak cocok untuk enkripsi
Untuk menggunakan standar enkripsi blowfish di PHP, Anda harus memulai salt Anda dengan “$1$PIMYLIFE$7“. Meskipun Anda juga dapat menggunakan “$1$PIMYLIFE$_8” dan “$1$PIMYLIFE$9“, keduanya akan menggunakan metode hashing yang lebih lemah
Setelah pengidentifikasi hash, Anda perlu menentukan biaya hash menggunakan parameter dua digit. Biaya ini harus berkisar antara “$2y$06$PiMyLifeUpExampleSalt10” dan “$2y$06$PiMyLifeUpExampleSalt11“. Semakin tinggi angkanya, semakin banyak kekuatan pemrosesan yang diperlukan untuk menghasilkan hash
Terakhir, hash dilengkapi dengan hash 22 karakter. Hash ini hanya boleh menggunakan karakter dari berikut “pi9“, “_Pi..SALT0“, “_Pi..SALT1“, “_Pi..SALT2“, dan “$1$PIMYLIFE$0“
Berikut adalah contoh salt yang valid untuk standar blowfish di PHP dengan fungsi crypt()
CRYPT_SHA256
Menggunakan fungsi crypt() PHP juga memungkinkan Anda menghasilkan hash SHA-256 dari string yang Anda tentukan
Untuk menghasilkan hash menggunakan PHP, Anda harus memulai garam Anda dengan “$2y$06$PiMyLifeUpExampleSalt17“. Ini memberi tahu fungsi crypt() bahwa Anda ingin menggunakan hash SHA-256
Selanjutnya, Anda dapat menentukan berapa putaran hashing yang harus dijalankan. Putaran ini mirip dengan opsi biaya blowfish. Jika mau, Anda perlu menulis “$2y$06$PiMyLifeUpExampleSalt18” setelah penentu hash. $2y$06$PiMyLifeUpExampleSalt19 adalah jumlah putaran yang akan dieksekusi
Blowfish memiliki minimal $5$rounds=6000$PiMyLifeUpExampl$ $5$PiMyLifeUpExampl$_0 putaran dan maksimal $5$rounds=6000$PiMyLifeUpExampl$ $5$PiMyLifeUpExampl$1. Setiap nilai yang berada di luar rentang ini akan dibulatkan ke nilai terdekat
Jika tidak ada angka yang ditentukan, maka PHP akan, secara default, menggunakan $5$rounds=6000$PiMyLifeUpExampl$ $5$PiMyLifeUpExampl$2 putaran
Terakhir, Anda perlu menentukan garam enam belas karakter diikuti dengan simbol tanda dolar ($1$PIMYLIFE$6)
Di bawah ini adalah dua contoh penggunaan hash SHA-256 dengan fungsi crypt() PHP. Di contoh teratas, kami menggunakan opsi putaran, dan di contoh kedua, kami tidak
$5$rounds=6000$PiMyLifeUpExampl$ $5$PiMyLifeUpExampl$CRYPT_SHA512
Hash SHA-512 adalah versi hash SHA-256 yang lebih panjang. Karena ini pada dasarnya adalah versi hash yang diperluas, penggunaannya sangat mirip
Satu-satunya perbedaan adalah bagaimana Anda memberi tahu fungsi crypt() PHP bahwa Anda ingin menghasilkan hash SHA-512
Untuk menghasilkan hash SHA-512, Anda harus memulai garam dengan “$5$rounds=6000$PiMyLifeUpExampl$ $5$PiMyLifeUpExampl$4“
Mengikuti pengidentifikasi hash, Anda kemudian dapat menentukan jumlah putaran yang ingin Anda gunakan untuk menghasilkan hash. Seperti SHA-256, ini ditulis menggunakan “$2y$06$PiMyLifeUpExampleSalt18” di mana “$2y$06$PiMyLifeUpExampleSalt19” adalah jumlah putaran
Terakhir, Anda dapat menulis garam 16 karakter Anda diikuti dengan simbol tanda dolar ($1$PIMYLIFE$6)
Dua contoh hash SHA-256 yang valid adalah yang telah kami tulis di bawah ini. Satu menggunakan parameter putaran. Seseorang tidak
$6$rounds=6000$PiMyLifeUpExampl$ $6$PiMyLifeUpExampl$Menggunakan Fungsi crypt() di PHP
Bagian ini akan menunjukkan cara menggunakan fungsi crypt() di dalam PHP. Anda akan menggunakan berbagai garam yang telah kita pelajari sebelumnya dan melihat cara kerjanya dalam kode yang sebenarnya
Untuk contoh ini, kita akan menulis skrip PHP singkat yang akan menghasilkan hash menggunakan masing-masing fungsi crypt() hash yang didukung
1. Mari kita mulai skrip ini dengan mendeklarasikan variabel yang disebut "pi7", yang akan kita tetapkan string PHP $5$rounds=6000$PiMyLifeUpExampl$ $5$PiMyLifeUpExampl$9
Sepanjang sisa skrip ini, kami akan menggunakan satu string ini untuk setiap jenis hashing kami yang berbeda. Dengan melakukan ini, Anda dapat melihat bagaimana masing-masing fungsi PHP crypt() tampilan hash yang berbeda, dan bagaimana penggunaannya
$string = "PiMyLifeUp";2. Dengan contoh pertama kita, kita akan menggunakan fungsi PHP crypt() untuk menghasilkan hash DES standar dari string kita
Kami melakukan ini dengan terlebih dahulu mengirimkan “pi7” ke dalam parameter pertama dari fungsi crypt(). Selanjutnya, kami memberikan dua karakter sederhana untuk garam. Dalam contoh kita, ini akan menjadi “$6$rounds=6000$PiMyLifeUpExampl$ $6$PiMyLifeUpExampl$1“
Akhirnya, kami menggunakan kata kunci echo PHP untuk menampilkan teks "Standar DES" diikuti dengan hash yang baru saja kami hasilkan
3. Untuk contoh kita berikutnya, kita akan menghasilkan hash DES yang diperluas dari variabel “pi7” kita
Kali ini saat kita menentukan garam yang akan kita gunakan “$6$rounds=6000$PiMyLifeUpExampl$ $6$PiMyLifeUpExampl$3“. Salt ini menggunakan format yang diharapkan oleh fungsi crypt()
Hasilnya adalah keluaran menggunakan kata kunci gema dan akan diidentifikasi dengan label “$6$rounds=6000$PiMyLifeUpExampl$ $6$PiMyLifeUpExampl$4”
$extended_des = crypt($string, "_Pi..SALT"); echo "Extended DES: " . $extended_des . PHP_EOL;4. Izinkan kami sekarang menunjukkan kepada Anda bagaimana Anda dapat menggunakan fungsi crypt() di PHP untuk menghasilkan hash MD5 dari sebuah string
Kami pertama-tama meneruskan variabel "pi_7" kami ke fungsi crypt. Selanjutnya, kami memasukkan garam. Kami memulai garam ini dengan “$1$PIMYLIFE$_5” untuk memberi tahu PHP agar menghasilkan hash MD5. Setelah pengidentifikasi hash, kami kemudian menentukan garam delapan karakter
Seperti contoh sebelumnya, kami mencetak hash MD5 yang dihasilkan dengan menggunakan gema
pi_05. Menghasilkan sandi blowfish semudah hash lainnya. Anda hanya perlu memasukkan garam yang diformat dengan benar
Untuk menunjukkan ini, kami menggunakan garam “$6$rounds=6000$PiMyLifeUpExampl$ $6$PiMyLifeUpExampl$7“. Dengan memulai garam ini dengan “$1$PIMYLIFE$7“, PHP dapat mengetahui bahwa kita ingin membuat hash ikan tiup. Setelah ini, kami menentukan bahwa kami ingin menjalankan iterasi "$6$rounds=6000$PiMyLifeUpExampl$ $6$PiMyLifeUpExampl$9" dari hash
Terakhir, untuk menghabisi garam kami, kami menyertakan garam 22 karakter
pi_16. Selanjutnya, kami akan menunjukkan bagaimana Anda dapat menggunakan fungsi crypt() di PHP untuk menghasilkan hash SHA-256 dari string tertentu
PHP mengidentifikasi garam untuk SHA-256 dengan adanya "$2y$06$PiMyLifeUpExampleSalt17" di awal garam. Anda kemudian dapat secara opsional menentukan berapa putaran yang harus dijalankan hash sebelum menyelesaikannya. Semakin banyak putaran, semakin lama hash selesai
Kami kemudian menampilkan hash yang dihasilkan ke layar dengan menggunakan kata kunci “$string = "PiMyLifeUp";1”.
pi_27. Contoh terakhir kami menunjukkan tipe hash terakhir yang didukung oleh fungsi crypt() PHP. Jenis hash itu adalah SHA-512
Untuk memberi tahu fungsi crypt() untuk menghasilkan hash SHA-512, Anda harus memulai garam Anda dengan “$5$rounds=6000$PiMyLifeUpExampl$ $5$PiMyLifeUpExampl$4“. Secara opsional, Anda dapat mengatur jumlah putaran untuk menghasilkan hash. Akhirnya Anda mengakhiri string dengan garam 16 karakter
pi_38. Versi terakhir dari kode Anda akan terlihat seperti yang telah kami tunjukkan di bawah ini
pi_49. Setelah menjalankan kode di atas, Anda akan mendapatkan hasil sebagai berikut
Dengan hasil ini, Anda dapat melihat berbagai hash yang dihasilkan untuk string “$string = "PiMyLifeUp";3” kami
pi_5Kesimpulan
Mudah-mudahan, pada titik ini, Anda sekarang memiliki pemahaman yang baik tentang bagaimana Anda dapat menggunakan fungsi crypt() di PHP
Fungsi ini memungkinkan Anda untuk menghasilkan hash dari setiap string yang Anda berikan. Meskipun bukan fungsi yang paling sederhana untuk digunakan, namun sangat kuat. Selain itu, ia memiliki dukungan untuk berbagai algoritme hashing yang berguna
Berikan komentar di bawah jika Anda memiliki masalah dalam menggunakan fungsi crypt()
Kami juga memiliki banyak tutorial PHP lainnya jika Anda ingin mempelajari bahasa ini lebih jauh. Jika Anda ingin mempelajari bahasa pemrograman baru, lihat banyak panduan pengkodean kami yang lain