Daftar Isi:

Perangkat Lunak Enkripsi/Dekripsi Keamanan Python: 3 Langkah
Perangkat Lunak Enkripsi/Dekripsi Keamanan Python: 3 Langkah

Video: Perangkat Lunak Enkripsi/Dekripsi Keamanan Python: 3 Langkah

Video: Perangkat Lunak Enkripsi/Dekripsi Keamanan Python: 3 Langkah
Video: Enkripsi Dekripsi File Foto dan Video dengan Python 2024, November
Anonim
Perangkat Lunak Enkripsi/Dekripsi Keamanan Python
Perangkat Lunak Enkripsi/Dekripsi Keamanan Python
Perangkat Lunak Enkripsi/Dekripsi Keamanan Python
Perangkat Lunak Enkripsi/Dekripsi Keamanan Python

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

Menulis File Pengaturan
Menulis File Pengaturan
Menulis File Pengaturan
Menulis File Pengaturan
Menulis File Pengaturan
Menulis File Pengaturan
Menulis File Pengaturan
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

File Enkripsi/Dekripsi
File Enkripsi/Dekripsi
File Enkripsi/Dekripsi
File Enkripsi/Dekripsi
File Enkripsi/Dekripsi
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: