Pasang modul yang diperlukan:
Modul pyperclip digunakan dalam tutorial ini untuk menyalin Kata Laluan yang dihasilkan secara rawak untuk menggunakannya di suatu tempat. Jalankan arahan berikut untuk memasang pyperclip.
$ pip memasang pyperclipContoh-1: Laksanakan penjana kata laluan yang mudah
Cara mudah untuk membuat penjana kata laluan telah ditunjukkan dalam skrip berikut. Teks besar watak campuran telah dinyatakan untuk menghasilkan Kata Laluan dengan memilih watak panjang tertentu. Panjang Kata Laluan akan diambil dari pengguna. sampel () fungsi rawak modul telah digunakan untuk memilih watak dari teks dan bergabung secara rawak. Kata laluan yang dihasilkan secara rawak akan dicetak kemudian.
# Import modul rawakimport secara rawak
# Tetapkan senarai watak untuk menghasilkan kata laluan
watak = "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ & * () [] | / \?[dilindungi e-mel] # $% ^ abcdefghijklmnopqrstuvwxyz "
# Ambil panjang kata laluan dari pengguna
password_length = int (masukan ('Masukkan panjang kata laluan:'))
# Hasilkan kata laluan
kata laluan = "".bergabung (rawak.contoh (watak, panjang kata laluan))
# Cetak kata laluan yang dihasilkan
cetak ("Kata laluan gerner:% s"% kata laluan)
Pengeluaran:
12 telah diberikan sebagai nilai panjang Kata Laluan, dan kata laluan 12 aksara telah dihasilkan setelah melaksanakan skrip.
Contoh-2: Terapkan Penjana Kata Laluan dengan GUI
Aplikasi penjana kata laluan berasaskan GUI sangat berguna bagi pengguna untuk menghasilkan Kata Laluan rawak. Tkinter modul telah diimport ke dalam skrip untuk membuat aplikasi penjana kata laluan yang mesra pengguna. Secara rawak dan tali modul telah diimport untuk menghasilkan Kata Laluan rawak dengan mencampurkan huruf besar, huruf kecil, digit, dan watak khas. Klip burung modul digunakan untuk menyalin Kata Laluan yang dihasilkan untuk membuat pelbagai jenis akaun pengguna. Kata Laluan_Generator () fungsi telah ditentukan untuk menghasilkan Kata Laluan dan menyimpannya di kata laluan pemboleh ubah. Salin Kata Laluan () fungsi telah menentukan untuk menyalin Kata Laluan yang dihasilkan setelah menghasilkan Kata Laluan. Objek Tkinter telah dinyatakan untuk menentukan jendela aplikasi di mana widget yang diperlukan untuk merancang aplikasi penjana kata laluan akan ditambahkan. Widget label pertama telah menetapkan menetapkan label untuk widget kotak putaran untuk memasukkan panjang Kata Laluan. Widget label kedua telah menentukan label widget kotak teks di mana Kata Laluan yang dihasilkan akan dipaparkan. Widget dua butang telah ditentukan untuk menghasilkan Kata Laluan dan menyalin Kata Laluan. Apabila 'Jana Kata Laluan ' butang ditekan, Kata Laluan_Generator () fungsi akan dipanggil, dan kata laluan yang dihasilkan secara rawak akan dipaparkan di kotak teks. Setelah menghasilkan Kata Laluan, jika 'Salinan' butang akan ditekan, kemudian Salin Kata Laluan () fungsi akan dipanggil untuk menyalin Kata Laluan, dan teks 'Kata laluan disalin'akan ditunjukkan di atas butang.
# Import modul tkinterimport tkinter
# Import modul rawak dan rentetan
import rawak, rentetan
# Import modul pyperclip
import pyperclip
# Tentukan fungsi untuk menghasilkan kata laluan rawak
def Kata Laluan_Generator ():
kata laluan = "
untuk n dalam julat (lenPassword.dapatkan ()):
kata laluan = kata laluan + rawak.pilihan (tali.ascii_uppercase + rentetan.tali ascii_lowercase +.digit + rentetan.tanda baca)
kata laluan str.tetapkan kata laluan)
# Tentukan fungsi untuk menyalin kata laluan yang dihasilkan
def CopyPassword ():
jika strPassword.dapatkan () != ":
klip pyper.salin (strPassword.dapatkan ())
lblmsg2 = tkinter.Label (menang, teks = 'Kata laluan disalin', font = 'Ubuntu 12 tebal', lebar = 15)
lblmsg2.tempat (x = 105, y = 120)
lain:
lblmsg2 = tkinter.Label (menang, teks = 'Tiada apa-apa untuk disalin', font = 'Ubuntu 12 tebal', lebar = 15)
lblmsg2.tempat (x = 105, y = 120)
# Tentukan objek untuk memaparkan tetingkap utama aplikasi
menang = tkinter.Tk ()
# Tetapkan tajuk tetingkap utama
menang.tajuk ("Penjana Kata Laluan Rawak")
# Tetapkan ketinggian dan lebar tetingkap utama
menang.geometri ("350x220")
# Tetapkan kedudukan tingkap
menang.eval ('tk :: PlaceWindow . pusat ')
# Tetapkan label untuk panjang kata laluan
lblPassword = tkinter.Label (menang, teks = 'Tetapkan Panjang Kata Laluan', font = 'Ubuntu 15 tebal')
lbl Kata Laluan.pek()
# Tetapkan jenis data panjang kata laluan
lenPassword = tkinter.IntVar ()
# Tetapkan had untuk nilai panjang
panjang = tkinter.Kotak Spin (menang, dari_ = 6, hingga_ = 16, boleh ubah teks = lenPassword, lebar = 2)
panjang.pek (padi = 10)
# Tetapkan label untuk medan kata laluan
lblmsg1 = tkinter.Label (win, text = 'Generated Password', font = 'Ubuntu 12')
lblmsg1.pek()
# Tetapkan jenis data bidang kata laluan
strPassword = tkinter.StringVar ()
# Tentukan pemboleh ubah untuk medan kata laluan
textData = tkinter.Kemasukan (win, textvariable = strPassword, width = 15)
teksData.pek()
# Tentukan butang untuk memanggil fungsi untuk menghasilkan kata laluan rawak
btnPassword = tkinter.Butang (menang, teks = "Hasilkan Kata Laluan", perintah = Kata Laluan_Generator)
kata laluan btn.pek (padx = 50, pady = 5, side = tkinter.DIBIARKAN)
# Tentukan butang untuk memanggil fungsi untuk menyalin kata laluan
btnCopy = tkinter.Butang (win, text = 'Copy', command = CopyPassword)
btnCopy.pek (sisi = tkinter.DIBIARKAN)
# Panggil mainloop Tkinter untuk membuka tetingkap utama
menang.mainloop ()
Pengeluaran:
Tetingkap berikut akan muncul setelah melaksanakan skrip. 6 telah ditetapkan sebagai nilai panjang lalai Kata Laluan. Pengguna boleh menambah atau menurunkan nilai sebelum menghasilkan Kata Laluan.
Kata Laluan 8 aksara telah dihasilkan setelah menetapkan nilai panjang menjadi 8 dan menekan Jana Kata Laluan butang.
Kata laluan disalin mesej telah muncul setelah menekan Salinan butang. Kini, Kata Laluan ini dapat digunakan dalam aplikasi lain untuk membuat akaun pengguna.
Kesimpulan:
Dua cara membuat Kata Laluan rawak telah dijelaskan dalam tutorial ini. Contoh pertama dapat digunakan jika anda ingin membuat penjana kata laluan berasaskan teks, dan contoh kedua dapat digunakan jika anda ingin membuat penjana kata laluan berdasarkan GUI.