Data merupakan aset vital di dunia digital saat ini. Lebih dari delapan juta orang menjadi korban peretas setiap tahun dan lebih dari 2200 serangan dunia maya terjadi setiap hari. Dengan tingkat kejahatan dunia maya yang mengkhawatirkan, penggunaan praktik terbaik untuk melindungi dari peretas menjadi prioritas. Salah satu aspek terpenting dari setiap akun adalah kata sandinya.
Jika peretas membobol kata sandi Anda, mereka bisa mendapatkan akses ke informasi pribadi Anda, dan bahkan rekening bank Anda, dalam hitungan menit. Meskipun ini terdengar menakutkan, Anda dapat mempelajari cara mengamankan kata sandi menggunakan praktik terbaik dengan membangun program Python Anda sendiri untuk menguji kekuatannya.
Aturan Berbeda untuk Menetapkan Kata Sandi yang Kuat
Beberapa aturan kata sandi yang kuat yang mungkin Anda pertimbangkan untuk diterapkan adalah:
- Panjang kata sandi harus minimal 12 karakter. Semakin panjang kata sandi, semakin sedikit kemungkinan serangan brute force yang membahayakannya.
- Kata sandi harus berisi kombinasi huruf kecil, huruf besar, angka, dan karakter khusus.
- Hindari pengulangan karakter dalam kata sandi.
- Itu tidak boleh berisi detail pribadi seperti nama, nomor telepon, atau apa pun yang dapat ditebak dengan mudah oleh seseorang.
- Ini seharusnya bukan kata kamus umum, meskipun Anda dapat menggunakan kata-kata dalam frase kata sandi yang lebih panjang.
- Kata sandi tidak boleh sama untuk banyak akun. Kamu bisa mengatur pengelola kata sandi untuk mengisi otomatis kata sandi yang berbeda untuk berbagai situs tanpa mengingatnya satu per satu.
Ada berbagai cara untuk buat kata sandi yang tidak bisa dipecahkan yang dapat Anda ingat. Beberapa di antaranya menggunakan lagu anak-anak, kutipan dari film, bahasa industri, dan banyak lagi.
Cara Memeriksa Kekuatan Kata Sandi Anda Menggunakan Python
Anda dapat membuat program untuk menguji kekuatan kata sandi dengan memeriksa karakteristik di atas. Untuk build ini, Anda memerlukan dua modul: rangkaian Dan koleksi.
Anda juga dapat menggunakan getpass modul untuk menyembunyikan kata sandi saat pengguna memasukkannya. Ini membantu melindungi kata sandi Anda saat Anda harus mengetiknya di depan umum. Untuk menginstal getpass di lingkungan lokal Anda, buka terminal dan ketik:
pip Install getpass4
Anda dapat menggunakan kelas String untuk memeriksa apakah suatu karakter adalah huruf, angka, atau simbol. Anda dapat menggunakan koleksi untuk memeriksa apakah ada karakter dalam kata sandi yang berulang.
Gunakan kata kunci def untuk mendefinisikan fungsi bernama check_password_strength() dan berikan kata sandi yang akan Anda peroleh sebagai parameter untuk itu.
Inisialisasi enam variabel: lower_alpha_count, hitungan_alfa_atas, angka_hitung, special_char_count, panjang, umum ke nol. Ini akan memeriksa keberadaan alfabet huruf kecil, alfabet huruf besar, angka, karakter khusus, panjang, pengulangan karakter dalam kata sandi.
Lewati kata sandi yang Anda peroleh dari pengguna ke daftar() berfungsi untuk mengubahnya menjadi daftar karakter. Dengan menggunakan perulangan for, ulangi setiap karakter dalam daftar. Gunakan pernyataan if-else untuk memeriksa apakah karakter tersebut adalah alfabet huruf kecil, alfabet huruf besar, angka atau karakter khusus dan perbarui hitungannya masing-masing.
Anda dapat berasumsi bahwa hal lain dari alfabet, atau angka adalah karakter khusus. Untuk batasan lebih lanjut, Anda dapat menyimpan karakter khusus sebagai string dan memeriksa apakah ada karakter kata sandi di dalamnya. Selain itu, beberapa situs web memungkinkan Anda menggunakan spasi putih dalam kata sandi. Anda dapat mengatur variabel yang berbeda dan menaikkannya atau mempertimbangkannya dalam jumlah karakter khusus itu sendiri.
impor rangkaian
impor koleksidefcheck_password_strength(kata sandi):
lower_alpha_count = upper_alpha_count = number_count = special_char_count = panjang = umum = 0
untuk masuk daftar(kata sandi):
jikaarang dalam string.ascii_lowercase:
lower_alpha_count += 1
elif arang dalam string.ascii_uppercase:
upper_alpha_count += 1
elif arang dalam string.digit:
angka_hitung += 1
kalau tidak:
special_char_count += 1
Anda memerlukan daftar kata sandi atau basis data untuk memeriksa apakah kata sandi pengguna itu umum. Anda dapat mengunduh daftar satu juta kata sandi paling populer dari Repositori GitHub Common-Credential SecLists.
Simpan file teks sebagai common_password_list.txt. Gunakan pernyataan with untuk melakukan penanganan pengecualian dan buka file kata sandi dalam mode baca. Menggunakan membaca() berfungsi untuk mendapatkan konten yang ada dalam file dan menyimpannya dalam variabel bernama konten.
Jika kata sandi yang dimasukkan pengguna tidak ada dalam daftar kata sandi umum, tingkatkan nilai variabel umum satu per satu.
denganmembuka("common_password_list.txt", 'R') sebagaimengajukan:
konten = file.baca()
jika kata sandi tidak ada di konten:
umum += 1
Untuk memeriksa panjang kata sandi, cukup berikan ke len() berfungsi dan periksa apakah lebih besar dari atau sama dengan dua belas. Jika demikian, tingkatkan nilai variabel panjang.
jikalen(kata sandi) >= 12:
panjang += 1
Untuk memeriksa pengulangan karakter dalam kata sandi, gunakan subkelas Penghitung dari Koleksi. Counter adalah kumpulan pasangan kunci dan nilai yang tidak terurut di mana kuncinya adalah elemen itu sendiri dan nilainya adalah hitungan elemen.
Gunakan metode pemahaman daftar untuk membuat daftar karakter berulang dari kamus yang Anda dapatkan menggunakan koleksi. Ulangi kamus dan periksa apakah hitungan karakter lebih besar dari satu. Jika hitungannya lebih besar, tambahkan ke daftar dan simpan berulang kali.
countOfWords = koleksi. Penghitung (kata sandi)
diulang = [i untuk i dalam countOfWords jika countOfWords[i] > 1]
Sekarang setelah Anda memiliki nilai karakteristik individu, inisialisasi variabel bernama kekuatan menjadi nol. Seperti namanya, Anda akan melihat variabel ini untuk memeriksa kekuatan kata sandi. Sistem penilaian dari tujuh, satu poin untuk setiap penyertaan karakter dan karakteristik kata sandi yang kuat.
Periksa apakah hitungan alfabet huruf kecil, alfabet huruf besar, angka, karakter khusus lebih besar dari atau sama dengan satu dan tingkatkan kekuatannya dengan satu untuk setiap kehadiran. Demikian pula, periksa apakah panjang dan variabel umum sama dengan satu dan jika panjang karakter berulang sama dengan nol. Jika benar, tingkatkan nilai variabel kekuatan.
kekuatan = 0
jika lower_alpha_count >= 1:
kekuatan += 1jika upper_alpha_count >= 1:
kekuatan += 1jika jumlah_hitung >= 1:
kekuatan += 1jika special_char_count >= 1:
kekuatan += 1jika panjang == 1:
kekuatan += 1jika umum == 1:
kekuatan += 1
jikalen(ulang)== 0:
kekuatan += 1
Gunakan string multiline (tiga tanda kutip) untuk menampilkan banyak baris teks dalam satu pernyataan cetak. Gunakan literal Sring Interpolation atau f-strings atau untuk menampilkan hitungan karakteristik. Anda dapat mencapai ini dengan menulis F di awal string dalam pernyataan cetak dan sertakan variabel dalam tanda kurung kurawal. Anda menggunakan interpolasi string karena konten di dalam pernyataan cetak adalah string, tetapi nilai variabelnya adalah bilangan bulat.
mencetak(F"""Kata sandi Anda memiliki:-
{lower_alpha_count} huruf kecil
{upper_alpha_count} huruf besar
{number_count} digit
{special_char_count} karakter khusus
{panjang} panjang
{umum} umum
{diulang} diulang
"Skor kata sandi: {strength}/7""")
Terakhir, gunakan pernyataan input untuk menerima kata sandi dari pengguna dan meneruskannya ke check_password_strength fungsi. Berdasarkan kekuatan kata sandi, program akan menampilkan skor beserta hitungan karakteristik yang ada dalam kata sandi.
kata sandi = masukan("Masukkan kata sandi:")
check_password_strength (kata sandi)
Output dari Pemeriksa Kekuatan Kata Sandi
Saat memasukkan kata sandi yang kuat berdasarkan karakteristik yang disebutkan, program Python menampilkan kekuatannya sebagai 7/7:
Saat memasukkan kata sandi yang lemah dan umum, program Python menampilkan kekuatan sebagai 1/7:
Kata Sandi dan Keamanan
Meskipun Anda dapat mengatur kata sandi terkuat yang pernah ada, ada cara lain yang dapat dilakukan peretas untuk masuk ke sistem Anda. 95% serangan siber adalah hasil dari kesalahan manusia. Salah satu metode yang paling umum digunakan peretas adalah rekayasa sosial. Peretas dapat mengirimi Anda tautan palsu ke media sosial atau situs web e-niaga yang terlihat sah, tetapi membahayakan sandi Anda jika Anda menggunakannya.
Untuk melindungi dari teknik ini, pastikan hanya membuka tautan dari sumber tepercaya dan hanya memasukkan atau menyimpan informasi penting dengan aman.