Daftar Isi:
Video: Perangkat Lunak Enkripsi/Dekripsi Keamanan Python: 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Dalam Instructable ini saya akan menunjukkan kepada Anda bagaimana dengan beberapa Python sederhana, Anda dapat menjaga keamanan file Anda menggunakan AES standar industri.
Persyaratan:
- Python 3.7
- Pustaka PyAesCrypt
- perpustakaan hashlib
Jika Anda tidak memiliki perpustakaan ini, Anda dapat menginstal dengan mudah dengan mengetik:
pip3 instal hashlib
pip3 instal PyAesCrypt
di terminal (atau CMD)
Anda seharusnya sudah memiliki ini:
- perpustakaan acak
- perpustakaan os
- perpustakaan sistem
Saya menggunakan OS X, tetapi seharusnya tidak terlalu menjadi masalah, kecuali arah garis miring di jalur file (OS X: /, Windows:)
Harap diperhatikan: Karena beberapa kesalahan, lekukan dalam kode tidak muncul karena alasan tertentu. Akibatnya tidak akan ada lekukan dalam kode yang ditampilkan, namun ada dalam file Python yang saya lampirkan di bagian akhir, dan dalam gambar terlampir. Hanya saja, jangan mengambil kode langsung dari teks yang ditampilkan, karena itu tidak akan berfungsi karena kurangnya lekukan
Jika Anda telah menginstal semua dependensi, mari kita lanjutkan ke Langkah 1.
Langkah 1: Menulis File Pengaturan
Salah satu faktor yang membuat ini sangat aman adalah penggunaan hash untuk memeriksa kata sandi. File pengaturan (saya memanggil saya setupsafe.py) akan:
- Buat folder dan file dummy untuk kata sandi
- Tetapkan kata sandi
- Atur nomor file
- Hash kata sandinya
Pertama, kita akan mengimpor dependensi kita:
dari impor sistem *
impor os
impor acak
impor hashlib
Selanjutnya kita akan membuat folder untuk menampung hash kata sandi dan file dummy:
coba: jika tidak os.path.exists('desktop/safesetup'):
os.mkdir('desktop/safesetup/')
kecuali OSError:
print("Kesalahan membuat folder")
Kode ini akan membuat folder bernama safesetup (kecuali sudah ada).
Setelah ini, kita akan mengatur kata sandi, dan menghasilkan angka acak antara 1 dan 100 sebagai cara kita untuk menavigasi file dummy:
kata sandi global = argv[1].encode('utf-8')
n = random.randint(1, 101)
Sekarang kita memiliki kata sandi dan nomor file kita, kita akan membuat 99 file dummy di dalam safesetup, dan satu file nyata yang akan berisi hash kata sandi kita:
untuk x dalam rentang(101): if(x != n):
f = buka(("desktop/safesetup/"+str(x)), "w+")
f.tutup()
lain:
kata sandi = hashlib.sha256(kata sandi).hexdigest()
f = buka(("desktop/pengaturan aman/"+str(x)), "w+")
f.tulis (kata sandi)
f.tutup()
cetak (n)
File sebenarnya disebut bilangan bulat n apa pun. File ini berisi kata sandi kami, setelah di-hash menggunakan algoritma sha256 (algoritma hash ini digunakan secara luas dalam cryptocurrency, terutama Bitcoin).
Ingat apa itu n (itu akan dicetak di konsol), karena sama pentingnya dengan kata sandi.
Itu saja yang kita butuhkan untuk program setup kita, jadi sekarang kita akan pindah ke program enkripsi/dekripsi.
Langkah 2: File Enkripsi/dekripsi
Bagian setup dari file utama mengimpor dependensi, meng-hash kata sandi yang dimasukkan, dan mengambil hash kata sandi asli menggunakan nomor file yang dimasukkan.
Pertama, dependensi:
dari sys import *import os
impor pyAesCrypt
impor hashlib
Selanjutnya, hashing dari kata sandi yang dimasukkan:
kata sandi = argv[1].encode('utf-8')kata sandi = hashlib.sha256(kata sandi).hexdigest()
Akhirnya, pengambilan kata sandi hash:
file_key = str(argv[2])hash = open(("desktop/safesetup/" + file_key), ("r+")).read()
Bagian kedua dari file enkripsi membandingkan hash, menentukan kebenaran perbandingan, dan menggunakan pustaka python AESCrypt untuk mengenkripsi atau mendekripsi file pilihan Anda. Ini adalah potongan kode yang agak besar, tetapi saya akan menguraikannya:
if(password == hash): print("Kata sandi diterima")
bufferUkuran = 64 * 1024
operation = str(input("Apakah Anda mengambil atau mengenkripsi file? (r atau e)"))
jika (operasi == 'r'):
file_name = str(input("File yang akan diambil: "))
pyAesCrypt.decryptFile((nama_file + ".aes"), nama_file, kata sandi, ukuran buffer)
os.remove((nama_file + ".aes"))
elif(operasi == 'e'):
file_name = str(input("File yang akan dienkripsi: "))
pyAesCrypt.encryptFile(nama_file, (nama_file + ".aes"), kata sandi, ukuran buffer)
os.remove(nama_file)
lain:
print("Kesalahan: Masukan salah")
lain:
print("Akses ditolak")
Pernyataan if pertama menentukan apakah kata sandi hash cocok. Jika ya, itu akan menanyakan apakah Anda ingin mengenkripsi file atau mengambil file terenkripsi. Bergantung pada input Anda, itu akan mengenkripsi atau mendekripsi file yang disediakan. Saat diminta untuk memberikan nama file, pastikan untuk menentukan jalur kecuali file berada di direktori yang sama dengan program python. Program menghapus file dalam keadaan sebelumnya, menggantinya dengan file.aes terenkripsi, atau mendekripsi dan menggantinya dengan file asli.
Di masa mendatang, saya mungkin memperbarui ini untuk menyertakan pengenalan wajah menggunakan pustaka Python OpenCV, tetapi untuk saat ini kata sandi harus mencukupi.
Langkah 3: Pengoperasian File
Untuk menjalankan file setup, ikuti langkah-langkah berikut:
1. Ketik terminal:
python3 directory/setupname.py password (mengganti direktori, setupname, dan password dengan nilainya masing-masing)
2. Terminal akan menampilkan nomor file Anda. Simpan ini.
Untuk menjalankan program enkripsi/dekripsi, ikuti langkah-langkah berikut:
1. Ketik terminal:
python3 directory/filename.py password filenumber (mengganti direktori, nama file, kata sandi, dan nomor file dengan nilainya masing-masing)
2. Terminal kemudian akan menerima atau menolak kata sandi Anda. Jika ditolak, coba lagi dan pastikan Anda mengetikkan nilai yang benar. Setelah akses diberikan, terminal akan menanyakan apakah Anda ingin mengenkripsi file atau mengambil file. Untuk mengenkripsi file, ketik e, dan untuk mengambil file terenkripsi, ketik r.
3. Anda kemudian akan diminta untuk memberikan nama file. Ingatlah untuk memberikan direktori file serta nama, dan juga ekstensi file. Namun, jika Anda mendekripsi file, jangan ketikkan bagian.aes dari ekstensi, karena kode menjelaskan hal itu.
4. Program kemudian mengenkripsi atau mendekripsi file yang disediakan, dan menghapus file dalam keadaan sebelumnya (mempertahankan file yang dienkripsi atau didekripsi).
Voila! Terima kasih telah membuatnya sejauh ini menjadi instruksi, saya tahu membaca tutorial kode bukanlah hal yang paling menghibur. File python terlampir dalam langkah ini, bagi Anda yang ingin mencobanya. Sekali lagi, terima kasih telah membaca, dan saya berharap semoga sukses dalam upaya pengkodean Anda di masa depan.
Direkomendasikan:
Perangkat Lunak Simulasi Kubus LED: 5 Langkah
Perangkat Lunak Simulasi Kubus LED: Saya hampir selesai membangun kubus LED 8x8x8 saya dan dengan itu datanglah perangkat lunak ini untuk PC! Ini membantu Anda membuat animasi dan mensimulasikannya di layar 2D sebelum diunggah ke layar 3D. Tidak ada dukungan (belum) untuk berkomunikasi melalui
Pemancar RF Flysky Didukung Melalui USB + Koneksi Sinyal Kabel ke PC + Perangkat Lunak Simulator Gratis: 6 Langkah
Pemancar RF Flysky Didukung Melalui USB + Koneksi Sinyal Kawat ke PC + Perangkat Lunak Simulator Gratis: Jika Anda seperti saya, Anda ingin menguji pemancar RF Anda dan mempelajarinya sebelum Anda menabrakkan pesawat/drone RF Anda. Ini akan memberi Anda kesenangan tambahan, sekaligus menghemat banyak uang dan waktu. Untuk melakukannya, cara terbaik adalah menghubungkan pemancar RF ke Anda
Cara Mengunduh Perangkat Lunak Gratis Sebagai Mahasiswa ISU (Microsoft, Adobe, dan Perangkat Lunak Keamanan: 24 Langkah
Cara Mengunduh Perangkat Lunak Gratis Sebagai Pelajar ISU (Microsoft, Adobe, dan Perangkat Lunak Keamanan: Untuk Adobe: lanjutkan ke langkah 1.Untuk Microsoft: lanjutkan ke langkah 8.Untuk Keamanan: lanjutkan ke langkah 12.Untuk Azure: lanjutkan ke langkah 16
Arduino Memulai Dengan Perangkat Keras dan Perangkat Lunak & Tutorial Arduino: 11 Langkah
Arduino Memulai Dengan Perangkat Keras dan Perangkat Lunak & Tutorial Arduino: Saat ini, Pembuat, Pengembang lebih memilih Arduino untuk pengembangan prototipe proyek yang cepat. Arduino adalah platform elektronik sumber terbuka berdasarkan perangkat keras dan perangkat lunak yang mudah digunakan. Arduino memiliki komunitas pengguna yang sangat baik. Papan Arduino d
Fotografi Panorama Dengan Perangkat Lunak Gratis dan Perangkat Keras Murah: 6 Langkah
Fotografi Panorama Dengan Perangkat Lunak Gratis dan Perangkat Keras Murah: Foto panorama digunakan untuk membuat gambar pemandangan yang terlalu besar untuk dimasukkan ke dalam lensa kamera normal atau bahkan terlalu besar untuk dilihat mata manusia sekaligus. Panorama yang paling terkenal adalah bidikan lanskap luar ruang dari fitur geologis atau langit kota