{"id":1362,"date":"2024-01-31T07:10:35","date_gmt":"2024-01-31T07:10:35","guid":{"rendered":"https:\/\/blog.uts.ac.id\/jul\/?p=1362"},"modified":"2024-01-31T07:12:23","modified_gmt":"2024-01-31T07:12:23","slug":"laravel-29-hashing-pada-laravel","status":"publish","type":"post","link":"https:\/\/blog.uts.ac.id\/jul\/2024\/01\/31\/laravel-29-hashing-pada-laravel\/","title":{"rendered":"Laravel #29 : Hashing Pada Laravel"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1362\" class=\"elementor elementor-1362\">\n\t\t\t\t\t\t<div class=\"elementor-inner\">\n\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-632b9eb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"632b9eb\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t\t\t<div class=\"elementor-row\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6c1667a\" data-id=\"6c1667a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-column-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-754142f elementor-widget elementor-widget-text-editor\" data-id=\"754142f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\n\t\t\t\t<h2>Hashing Pada Laravel<\/h2>\n<p>Ada 2 hasing yang sudah ada pada laravel. yaitu&nbsp;Bcrypt&nbsp;dan&nbsp;Argon2. jika kita menggunakan sistem login atau authentication default bawaan dari laravel, laravel menggunakan Bcrypt untuk merahasiakan data password user.<\/p>\n<p>Silahkan teman-teman lihat kembali pada tutorial&nbsp;<a href=\"https:\/\/www.malasngoding.com\/membuat-login-dan-register-laravel\/\" target=\"_blank\" rel=\"noopener\">membuat login dan register laravel<\/a>&nbsp;yang sudah kita bahas pada tutorial sebelumnya. tentu di sana laravel sudah menerapkan enkripsi hash pada bagian password user. dan laravel menggunakan Bcrypt secara default.<\/p>\n<p>Untuk pengaturan hash pada laravel, teman-teman bisa mengubahnya pada file&nbsp;config\/hashing.php.<\/p>\n<p>mungkin teman-teman tidak ingin menggunakan hash default laravel yaitu Bcrypt, teman-teman bisa mengubahnya pada folder config dan file hashing.php.<\/p>\n<h3>Penggunaan Hashing Pada Laravel<\/h3>\n<p>Cara membuat hash untuk password, kita bisa menggunakan atau memanggil Facade Hash terlebih dulu.&nbsp; beru kemudian kita bisa menggunakan method make() untuk membuat hash nya.<\/p>\n<p>Saya buatkan contoh sederhananya, misalnya kita ingin membuat atau meng-generate data password ke dalam bentuk hash menggunakan laravel.<\/p>\n<p>Silahkan teman-teman sediakan sebuah controller, di sini saya menggunakan controller dengan nama&nbsp;DikiController.php. dan buat route baru untuk mengakses method pada DikiController.php.<\/p>\n<p><strong>app\/routes\/web.php<\/strong><\/p><div id=\"crayon-65b9f02734e2b113021341\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\"><div class=\"crayon-toolbar\" data-settings=\" show\"><div class=\"crayon-tools\"><div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"Toggle Line Numbers\">\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\">&nbsp;<\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\">&nbsp;<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\">&nbsp;<\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e2b113021341-1\">1<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-65b9f02734e2b113021341-1\" class=\"crayon-line\"><span class=\"crayon-i\">Route<\/span>::<span class=\"crayon-e\">get<\/span>(<span class=\"crayon-s\">&#8216;\/hash&#8217;<\/span>, <span class=\"crayon-s\">&#8216;DikiController@hash&#8217;<\/span>);<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>nah, pada saat route \u2018\/hash\u2019 diakses, maka kita akan menjalankan method hash() dari controller DikiController.php. maka sekarang kita buat method baru dengan nama hash() dalam controller DikiController.php.<\/p>\n<div id=\"crayon-65b9f02734e35008940905\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\">&nbsp;<\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\">&nbsp;<\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\">&nbsp;<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\">&nbsp;<\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e35008940905-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-65b9f02734e35008940905-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e35008940905-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-65b9f02734e35008940905-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e35008940905-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-65b9f02734e35008940905-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e35008940905-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-65b9f02734e35008940905-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e35008940905-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-65b9f02734e35008940905-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e35008940905-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-65b9f02734e35008940905-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e35008940905-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-65b9f02734e35008940905-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e35008940905-15\">15<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-65b9f02734e35008940905-1\" class=\"crayon-line\"><span class=\"crayon-h\">&lt;<\/span>?<span class=\"crayon-e\">php<\/span><\/div>\n<div id=\"crayon-65b9f02734e35008940905-2\" class=\"crayon-line crayon-striped-line\">&nbsp;<\/div>\n<div id=\"crayon-65b9f02734e35008940905-3\" class=\"crayon-line\"><span class=\"crayon-e\">namespace <\/span><span class=\"crayon-i\">App<\/span>\\<span class=\"crayon-i\">Http<\/span>\\<span class=\"crayon-i\">Controllers<\/span>;<\/div>\n<div id=\"crayon-65b9f02734e35008940905-4\" class=\"crayon-line crayon-striped-line\">&nbsp;<\/div>\n<div id=\"crayon-65b9f02734e35008940905-5\" class=\"crayon-line\"><span class=\"crayon-e\">use <\/span><span class=\"crayon-i\">Illuminate<\/span>\\<span class=\"crayon-i\">Http<\/span>\\<span class=\"crayon-i\">Request<\/span>;<\/div>\n<div id=\"crayon-65b9f02734e35008940905-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-e\">use <\/span><span class=\"crayon-i\">Illuminate<\/span>\\<span class=\"crayon-i\">Support<\/span>\\<span class=\"crayon-i\">Facades<\/span>\\<span class=\"crayon-i\">Hash<\/span>;<\/div>\n<div id=\"crayon-65b9f02734e35008940905-7\" class=\"crayon-line\">&nbsp;<\/div>\n<div id=\"crayon-65b9f02734e35008940905-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-e\">class<\/span> <span class=\"crayon-e\">DikiController<\/span> <span class=\"crayon-e\">extends<\/span> <span class=\"crayon-e\">Controller<\/span><\/div>\n<div id=\"crayon-65b9f02734e35008940905-9\" class=\"crayon-line\">{<\/div>\n<div id=\"crayon-65b9f02734e35008940905-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-e\">public <\/span><span class=\"crayon-e\">function <\/span><span class=\"crayon-e\">hash<\/span>(){<\/div>\n<div id=\"crayon-65b9f02734e35008940905-11\" class=\"crayon-line\">$<span class=\"crayon-i\">hash_password_saya<\/span> = <span class=\"crayon-i\">Hash<\/span>::<span class=\"crayon-e\">make<\/span>(<span class=\"crayon-s\">&#8216;halo123&#8217;<\/span>);<\/div>\n<div id=\"crayon-65b9f02734e35008940905-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-i\">echo<\/span> $<span class=\"crayon-i\">hash_password_saya<\/span>;<\/div>\n<div id=\"crayon-65b9f02734e35008940905-13\" class=\"crayon-line\">}<\/div>\n<div id=\"crayon-65b9f02734e35008940905-14\" class=\"crayon-line crayon-striped-line\">&nbsp;<\/div>\n<div id=\"crayon-65b9f02734e35008940905-15\" class=\"crayon-line\">}<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Ingat, setiap kali kita ingin membuat hash pada laravel ini, kita harus memanggil facade Hash, agar kita bisa membuat hash dengan laravel, seperti pada contoh di atas.<\/p>\n<p>Pada contoh di atas, saya mencoba meng-generate password dari string \u201chalo123\u201d. kemudian kita tampilkan hasilnya.<\/p>\n<p>Sekarang jalankan project laravel kita.<\/p>\n<p>php artisan serve<\/p>\n<p>dan akses route&nbsp;localhost:8000\/hash<\/p>\n<p>maka hasilnya seperti berikut.<\/p>\n<div id=\"attachment_3650\" class=\"wp-caption aligncenter\"><p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3650 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/www.malasngoding.com\/wp-content\/uploads\/2019\/03\/Hashing-Pada-Laravel.png\" alt=\"Hashing Pada Laravel\" width=\"762\" height=\"208\" aria-describedby=\"caption-attachment-3650\" data-lazy-loaded=\"1\"><\/p>\n<p id=\"caption-attachment-3650\" class=\"wp-caption-text\">Hashing Pada Laravel<\/p>\n<\/div>\n<p>hash tersebut akan terus berubah setiap kali di reload.<\/p>\n<h3>Membuat Verifikasi Hash Pasword<\/h3>\n<p>Ada saat nya kita ingin membuat login sendiri tanpa menggunakan fitur Auth dari laravel. nah kita bisa menggunakan cara ini untuk memverifikasi data password yang dimasukkan oleh pengguna dengan data password yang ada pada database kita.&nbsp;Hashing Pada Laravel.<\/p>\n<p>Baca juga :&nbsp;<a href=\"https:\/\/www.malasngoding.com\/encrypt-dan-decrypt-laravel\/\" target=\"_blank\" rel=\"noopener\">Encrypt dan Decrypt Pada Laravel<\/a><\/p>\n<p>Cara ini bisa kita gunkana untuk membuat login manual dengan laravel. kita bisa menggunakan method&nbsp;check(). diisi dengan password yang dimasukkan uder pada parameter pertama, dan data password yang ada pada database (atau password yang sudah di hash sebelumnya) pada parameter kedua.<\/p>\n<div id=\"crayon-65b9f02734e38449723615\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"Toggle Line Numbers\">\n<div class=\"crayon-button-icon\">&nbsp;<\/div>\n<\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"Toggle Line Wrap\">\n<div class=\"crayon-button-icon\">&nbsp;<\/div>\n<\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"Open Code In New Window\">\n<div class=\"crayon-button-icon\">&nbsp;<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\">&nbsp;<\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e38449723615-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-65b9f02734e38449723615-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e38449723615-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-65b9f02734e38449723615-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-65b9f02734e38449723615-5\">5<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-65b9f02734e38449723615-1\" class=\"crayon-line\"><span class=\"crayon-e\">if<\/span> (<span class=\"crayon-i\">Hash<\/span>::<span class=\"crayon-e\">check<\/span>(<span class=\"crayon-s\">&#8216;password_yang_dimasukkan&#8217;<\/span>, $<span class=\"crayon-i\">password_dari_db<\/span>)) {<\/div>\n<div id=\"crayon-65b9f02734e38449723615-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\">\/\/ Jika password benar<\/span><\/div>\n<div id=\"crayon-65b9f02734e38449723615-3\" class=\"crayon-line\">}<span class=\"crayon-e\">else<\/span>{<\/div>\n<div id=\"crayon-65b9f02734e38449723615-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span class=\"crayon-c\">\/\/ jika password tidak sesuai<\/span><\/div>\n<div id=\"crayon-65b9f02734e38449723615-5\" class=\"crayon-line\">}<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Cukup sederhana sekali.<\/p>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Hashing Pada Laravel Ada 2 hasing yang sudah ada pada laravel. yaitu&nbsp;Bcrypt&nbsp;dan&nbsp;Argon2. jika kita menggunakan sistem login atau authentication default bawaan dari laravel, laravel menggunakan Bcrypt untuk merahasiakan data password user. Silahkan teman-teman lihat kembali pada tutorial&nbsp;membuat login dan register laravel&nbsp;yang sudah kita bahas pada tutorial sebelumnya. tentu di sana laravel sudah menerapkan enkripsi hash [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":1380,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[9],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/posts\/1362"}],"collection":[{"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/comments?post=1362"}],"version-history":[{"count":4,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/posts\/1362\/revisions"}],"predecessor-version":[{"id":1388,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/posts\/1362\/revisions\/1388"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/media\/1380"}],"wp:attachment":[{"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/media?parent=1362"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/categories?post=1362"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/tags?post=1362"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}