Jadual Kandungan
Apakah pencincangan kata laluan?
Langkah-langkah penggunaan
Langkah 1: Cipta fungsi untuk kaedah pencincangan yang berbeza
Tatabahasa
Algoritma
Contoh
Output
Langkah 2: Dapatkan rentetan kata laluan yang dimasukkan oleh pengguna
Langkah 3: Terima input pengguna untuk memilih kaedah pencincangan
Kesimpulan
Rumah pembangunan bahagian belakang Tutorial Python Apakah program paling hebat yang pernah anda lakukan dalam Python?

Apakah program paling hebat yang pernah anda lakukan dalam Python?

Sep 08, 2023 pm 09:21 PM
fungsi bersarang iterator penghias

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()) 
Salin selepas log masuk

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)
Salin selepas log masuk

Output

Hashed with MD5: 6c60b3cfe5124f982eb629e00a98f01f
Hashed with SHA:
15e6e9ddbe43d9fe5745a1348bf1535b0456956d18473f5a3d14d6ab06737770
Hashed with blake2b:
109f6f017d7a77bcf57e4b48e9c744280ae7f836477c16464b27a3fe62e1353c70ec4c7f938080
60ee7c311094eede0235a43151c3d2b7401a3cb5a8f8ab3fbb 
Salin selepas log masuk

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()
Salin selepas log masuk

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()
Salin selepas log masuk

Output

Enter the password for hashing: Python 
Salin selepas log masuk

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:
      ………………… 
Salin selepas log masuk

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")
Salin selepas log masuk

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 
Salin selepas log masuk

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 Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Apr 01, 2025 pm 11:15 PM

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Apakah ungkapan biasa? Apakah ungkapan biasa? Mar 20, 2025 pm 06:25 PM

Ekspresi biasa adalah alat yang berkuasa untuk memadankan corak dan manipulasi teks dalam pengaturcaraan, meningkatkan kecekapan dalam pemprosesan teks merentasi pelbagai aplikasi.

Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Apr 01, 2025 pm 10:51 PM

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Apakah beberapa perpustakaan Python yang popular dan kegunaan mereka? Apakah beberapa perpustakaan Python yang popular dan kegunaan mereka? Mar 21, 2025 pm 06:46 PM

Artikel ini membincangkan perpustakaan Python yang popular seperti Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask, dan Permintaan, memperincikan kegunaan mereka dalam pengkomputeran saintifik, analisis data, visualisasi, pembelajaran mesin, pembangunan web, dan h

Bagaimana secara dinamik membuat objek melalui rentetan dan panggil kaedahnya dalam Python? Bagaimana secara dinamik membuat objek melalui rentetan dan panggil kaedahnya dalam Python? Apr 01, 2025 pm 11:18 PM

Di Python, bagaimana untuk membuat objek secara dinamik melalui rentetan dan panggil kaedahnya? Ini adalah keperluan pengaturcaraan yang biasa, terutamanya jika perlu dikonfigurasikan atau dijalankan ...

See all articles