Rumah > Artikel > pembangunan bahagian belakang > Apakah program paling hebat yang pernah anda lakukan dalam Python?
Program Python paling hebat yang pernah saya buat ialah penggodam kata laluan Python. Mari kita fahami apa itu pencincangan kata laluan Python.
Pencincangan kata laluan Python ialah bentuk penyulitan lanjutan yang boleh digunakan untuk menyimpan kata laluan dalam talian dengan selamat. Dalam dunia yang saling berkaitan hari ini, kata laluan pengguna adalah salah satu daripada maklumat sensitif yang paling terdedah di Internet. Tukar rentetan kata laluan kepada rentetan aksara rawak menggunakan algoritma pencincangan yang berbeza, yang digunakan dalam program saya. Pengguna diarahkan untuk memasukkan rentetan kata laluan dan kemudian memilih algoritma pencincangan yang sesuai untuk digunakan. Hash output kemudiannya dipaparkan, yang boleh disimpan dalam talian.
Buat fungsi untuk kaedah pencincangan yang berbeza
Menerima rentetan kata laluan yang dimasukkan oleh pengguna
Terima input pengguna untuk memilih kaedah pencincangan
Tukar rentetan dan berikan output
Pertama, kami mencipta fungsi berbeza yang mengambil rentetan kata laluan sebagai parameter dan menukarnya kepada bentuk teks sifir. Teks sifir sebenarnya adalah bentuk cipher data. Fungsi yang berbeza mengandungi algoritma pencincangan yang berbeza.
def hash_with_MD5(message): print ("MD5:", hashlib.md5(message).hexdigest())
Fungsi ini mengambil mesej sebagai parameter dan menukarkannya kepada teks sifir menggunakan algoritma pencincangan MD5. Kemudian cetak ringkasan hash untuk pengguna. Jika bukannya menggunakan MD5, anda menggunakan algoritma cincang yang lain, sintaksnya adalah sama, hanya panggilan ke fungsi cincang yang berubah.
Langkah 1 - Tentukan fungsi berbeza untuk algoritma pencincangan yang berbeza
Langkah 2 - Gunakan rentetan yang dimasukkan oleh pengguna sebagai parameter fungsi
Langkah 3 - Dalam badan fungsi, cetak ringkasan hex kata laluan yang dicincang
def hash_with_MD5(message): encoded=message.encode() print ("Hashed with MD5:", hashlib.md5(encoded).hexdigest()) def hash_with_SHA(message): encoded=message.encode() print ("Hashed with SHA:", hashlib.sha256(encoded).hexdigest()) def hash_with_blake(message): encoded=message.encode() print ("Hashed with blake2b:", hashlib.blake2b(encoded).hexdigest()) message='tutorialspoint' hash_with_MD5(message) hash_with_SHA(message) hash_with_blake(message)
Hashed with MD5: 6c60b3cfe5124f982eb629e00a98f01f Hashed with SHA: 15e6e9ddbe43d9fe5745a1348bf1535b0456956d18473f5a3d14d6ab06737770 Hashed with blake2b: 109f6f017d7a77bcf57e4b48e9c744280ae7f836477c16464b27a3fe62e1353c70ec4c7f938080 60ee7c311094eede0235a43151c3d2b7401a3cb5a8f8ab3fbb
Langkah seterusnya ialah mendapatkan input daripada pengguna untuk kata laluan yang perlu disimpan. Atas sebab keselamatan, kata laluan yang akan disimpan mesti dicincang, dan kata laluan yang dimasukkan pengguna mesti dikodkan sebelum pencincangan untuk memastikan ia sesuai untuk dihantar ke fungsi cincang. Operasi pengekodan ini dilakukan oleh fungsi encode().
password=input("message").encode()
Kata laluan yang kami terima daripada pengguna menggunakan fungsi input() tidak boleh digunakan untuk pencincangan, jadi ia dikodkan menggunakan fungsi encode(). Kedua-dua langkah ini digabungkan di sini dalam satu arahan untuk memudahkan pengekodan dan kesederhanaan.
Langkah 1 - Gunakan fungsi input() untuk menerima input pengguna
Langkah 2- Tukar input kepada format yang dikodkan
password=input(“Enter the password for hashing: ”).encode()
Enter the password for hashing: Python
Kami akan memberikan pengguna pilihan untuk memutuskan algoritma pencincangan yang akan kami gunakan untuk mencincang kata laluan dengan selamat. Kaedah yang berbeza mempunyai kelebihan dan kekurangan yang berbeza, jadi kami membenarkan pengguna memilih kaedah yang paling sesuai untuk kata laluan tertentu. Di sini kami menggunakan struktur If-else yang mudah untuk menentukan pemilihan yang dimasukkan oleh pengguna.
while True: choice = input("Enter choice(1/2/3): ") if choice in ('1', '2', '3'): try: …………………
Di sini kami bertanya kepada pengguna jenis cincang yang mereka lakukan bersama-sama dengan senarai pilihan. Input kemudiannya disemak terhadap senarai input yang sah dan, jika benar, tindakan yang diperlukan dilakukan. Jika tidak, kawalan program akan keluar dari gelung.
Langkah 1 − Minta input daripada pengguna
Langkah 2- Semak sama ada input pengguna adalah sah
Langkah 3 - Lakukan tindakan terpilih
Langkah 4 - Tanya jika anda mahu melakukan lebih banyak lagi
import hashlib def hash_with_MD5(password): #encoded=password.encode() print ("Hashed with MD5:", hashlib.md5(password).hexdigest()) def hash_with_SHA(password): #encoded=password.encode() print ("Hashed with SHA:", hashlib.sha256(password).hexdigest()) def hash_with_blake(password): #encoded=password.encode() print ("Hashed with blake2b:", hashlib.blake2b(password).hexdigest()) print("Select hashing operation.") print("1.MD5") print("2.SHA") print("3.blake") while True: # take input from the user choice = input("Enter choice(1/2/3): ") # check if choice is one of the four options if choice in ('1', '2', '3'): try: password=input('Enter the password for hashing: ').encode() except ValueError: print("Invalid input. Please enter a string.") continue if choice == '1': hash_with_MD5(password) elif choice == '2': hash_with_SHA(password) elif choice == '3': hash_with_blake(password) # checking if user wants another calculation # break the while loop if answer is no next_calculation = input("Let's do next calculation? (yes/no): ") if next_calculation == "no": break else: print("Invalid Input")
Select hashing operation. 1.MD5 2.SHA 3.blake Enter choice(1/2/3): 2 Enter the password for hashing:Python Hashed with SHA: 18885f27b5af9012df19e496460f9294d5ab76128824c6f993787004f6d9a7db Let's do next calculation? (yes/no): yes Enter choice(1/2/3): 1 Enter the password for hashing:Tutorialspoint Hashed with MD5: da653faa9f00528be9a57f3474f0e437 Let's do next calculation? (yes/no): no
Jadi di sini kami membina program untuk mencincang kata laluan pengguna dan mengembalikannya untuk storan selamat. Program ini berjalan dengan jayanya dan mempunyai tujuan yang penting. Pengubahsuaian selanjutnya boleh dibuat untuk melaksanakan fungsi yang lebih baharu, yang akan kami lakukan kemudian.
Atas ialah kandungan terperinci Apakah program paling hebat yang pernah anda lakukan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!