Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah program paling hebat yang pernah anda lakukan dalam Python?

Apakah program paling hebat yang pernah anda lakukan dalam Python?

WBOY
WBOYke hadapan
2023-09-08 21:21:03932semak imbas

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.

Apakah pencincangan kata laluan?

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.

Langkah-langkah penggunaan

  • 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

Langkah 1: Cipta fungsi untuk kaedah pencincangan yang berbeza

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.

Tatabahasa

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.

Algoritma

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

Contoh

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)

Output

Hashed with MD5: 6c60b3cfe5124f982eb629e00a98f01f
Hashed with SHA:
15e6e9ddbe43d9fe5745a1348bf1535b0456956d18473f5a3d14d6ab06737770
Hashed with blake2b:
109f6f017d7a77bcf57e4b48e9c744280ae7f836477c16464b27a3fe62e1353c70ec4c7f938080
60ee7c311094eede0235a43151c3d2b7401a3cb5a8f8ab3fbb 

Langkah 2: Dapatkan rentetan kata laluan yang dimasukkan oleh pengguna

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().

Tatabahasa

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.

Algoritma

Langkah 1 - Gunakan fungsi input() untuk menerima input pengguna

Langkah 2- Tukar input kepada format yang dikodkan

Contoh

password=input(“Enter the password for hashing: ”).encode()

Output

Enter the password for hashing: Python 

Langkah 3: Terima input pengguna untuk memilih kaedah pencincangan

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.

Tatabahasa

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.

Algoritma

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

Contoh

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")

Output

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 

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam