Membuat Password Generator Menggunakan Python

Membuat Password Generator Menggunakan Python – pesonainformatika.com, tidak bosan bosan membahas bahasa pemrograman python, dan pastinya kita akan belajar studi kasus baru, kali ini kita akan membuat program password generator sederhana menggunakan python simak caranya disini

Deskripsi Kasus

untuk membuat password tentu harus sedikit rumit paling simple menggunakan kombinasi antara huruf dengan angka, bayangkan jika kamu harus membuat password untuk 10 akun, mungkin masih bisa tapi bagaimana jika 100 akun pasti membosankan dan ribet, bagaimana cara cepat memecahkan masalah tersebut

Membuat Program

okay kali ini masuk ke step membuat program, pastikan sudah menginstall python dan menggunakan text editor, untuk langkah pertama buat file misal main.py kemudian isi seperti ini

data_dict = {
    'username': ['pery', 'bayu', 'fajar', 'iqbal']
}


def passMaker(dict_keys):
    password_list = []
    username_list = []
    for username in dict_keys:
        generate_password = sum(ord(c) for c in username)
        password_list.append(f"{username}{generate_password}")
        username_list.append(username)

    # append result
    named_dict = {
        "username": username_list,
        "generate_password": password_list
    }

    return named_dict


print(passMaker(data_dict['username']))

jika dijalankan hasilnya akan seperti ini

hasil program diatas

Penjelasan Program

setelah berhasil running, kali ini kita akan bahas bagaimana si program bisa running dan apa sebabnya bisa menghasilkan password dengan angka yang berbeda pada tiap kata kita akan kupas tuntas disini

pertama kita mempunyai data berbentuk list namun disini pada kasus ini datanya berbentuk dictionary seperti ini

data_dict = {
    'username': ['pery', 'bayu', 'fajar', 'iqbal']
}

kemudian kita membuat fungsi misal passMaker dengan parameter berupa list seperti ini

def passMaker(dict_keys):
    pass

disini parameter dict_keys harus berupa list

kemudian kita tambahkan dua list kosong untuk menampung data username dan hasil password yang sudah dibuat seperti ini

password_list = []
username_list = []

kemudian karena parameter fungsi passMaker yaitu dict_keys berupa list maka kita dapat melakukan looping pada parameter tersebut dan membuat password generator dengan cara menghitung berapa jumlah karakter ASCII pada setiap string yang di input, kemudian kita tambahkan string yang sudah ditambahkan jumlah karakter ASCII dengan string (yang belum dihitung) kedalam list password_list

for username in dict_keys:
    generate_password = sum(ord(c) for c in username)
    password_list.append(f"{username}{generate_password}")

tambahkan juga username yang tadi di loop ke dalam list username_list

username_list.append(username)

setelah kedua list tersebut berisi data yang sudah di hitung di looping tadi kita dapat mengelopmpokannya kedalam dictionary baru kemudian di return

named_dict = {
    "username": username_list,
    "generate_password": password_list
}
return named_dict

kemudian kita dapat memanggil fungsinya seperti ini

print(passMaker(data_dict['username']))

hasilnya seperti digambar yaitu seperti ini

{'username': ['pery', 'bayu', 'fajar', 'iqbal'], 'generate_password': ['pery448', 'bayu433', 'fajar516', 'iqbal521']}

Kreasikan Program

kita dapat menambahkan beberapa fungsi dari program kita dapat menambahkan enkripsi pada password yang telah kita generate menggunakan modul bcrypt di python, kita install dulu menggunakan pip

pip install bcrypt

setelah itu kita membuat enkripsi seperti ini

hashing = bcrypt.hashpw(b"{generate_password}", bcrypt.gensalt())

kemudian kita tampung di list kita buat list baru buat menampung enkripsi password misalnya encrypted_password

encrypted_password = []

kemudian kita terapkan di program kita seperti ini

import bcrypt
data_dict = {
    'username': ['pery', 'bayu', 'fajar', 'iqbal']
}


def passMaker(dict_keys):
    password_list = []
    username_list = []
    encrypted_password = []
    for username in dict_keys:
        generate_password = sum(ord(c) for c in username)
        hashing = bcrypt.hashpw(b"{generate_password}", bcrypt.gensalt())
        password_list.append(f"{username}{generate_password}")
        username_list.append(username)
        encrypted_password.append(hashing)

    # append result
    named_dict = {
        "username": username_list,
        "generate_password": password_list,
        "hashed_password": encrypted_password
    }

    return named_dict


print(passMaker(data_dict['username']))

kemudian coba jalankan programnya hasilnya menjadi seperti ini

hasil password yang di enckripsi menggunakan bcrypt

gimana cukup mudah bukan, sampai sini dulu studi kasus kali ini semoga bermanfaat dan selamat mencoba, soure code dapat diakses melalui github ikuti terus pesonainformatika, dan dapatkan studi kasus bahasa pemrograman lainya seperti  Java, Python  C++