package
0.0.0-20241108134845-45d51a34af52
Repository: https://github.com/ciazhar/go-zhar.git
Documentation: pkg.go.dev
# README
bcrypt
bcrypt adalah sebuah library dalam bahasa Go yang digunakan untuk hashing dan memverifikasi password dengan keamanan yang tinggi. bcrypt didasarkan pada algoritma bcrypt yang didesain khusus untuk menyulitkan proses brute force attack terhadap password.
Penggunaan dan Fitur
Penggunaan
- Keamanan Password: bcrypt digunakan untuk mengamankan password dalam aplikasi dan sistem dengan cara mengubahnya menjadi hash yang sulit untuk dipecahkan.
- Pendaftaran Pengguna: bcrypt digunakan pada proses pendaftaran pengguna untuk menyimpan password mereka dalam bentuk hash, sehingga menghindari penyimpanan password dalam bentuk teks biasa.
- Otentikasi Pengguna: bcrypt digunakan untuk memverifikasi password yang dimasukkan oleh pengguna saat proses login atau autentikasi.
Fitur
- Kesulitan Brute Force: bcrypt memungkinkan konfigurasi tingkat kesulitan hashing dengan biaya yang dapat disesuaikan (cost), sehingga membuat serangan brute force menjadi lebih sulit dilakukan.
- Salt Otomatis: bcrypt secara otomatis menambahkan salt ke dalam hash password, sehingga membuat serangan rainbow table menjadi tidak efektif.
- Keamanan Tinggi: bcrypt dirancang untuk memberikan keamanan tinggi terhadap serangan kriptografi seperti brute force attack, dictionary attack, dan rainbow table attack.
Contoh Kode (Go)
Berikut adalah contoh penggunaan bcrypt dalam bahasa pemrograman Go:
package main
import (
"fmt"
"github.com/ciazhar/go-zhar/pkg/bcrypt"
)
func main() {
// Password to hash
password := "mysecretpassword"
// Hash the password
hashedPassword, err := bcrypt.HashPassword(password)
if err != nil {
fmt.Println("Error hashing password:", err)
return
}
fmt.Println("Hashed password:", hashedPassword)
// Validate the password
fmt.Println("Password validation result:", bcrypt.ValidatePassword(password, hashedPassword))
}
Dalam contoh ini, kita menggunakan bcrypt untuk menghash dan memverifikasi password. Fungsi HashPassword
digunakan
untuk menghash password, sedangkan fungsi ValidatePassword
digunakan untuk memverifikasi apakah password yang
dimasukkan oleh pengguna sesuai dengan hash yang tersimpan.