İçindekiler:
- Adım 1: Kurulum Dosyasını Yazma
- 2. Adım: Şifreleme/şifre çözme Dosyası
- Adım 3: Dosyaların Çalıştırılması
Video: Python Güvenlik Şifreleme/Şifre Çözme Yazılımı: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu Eğitilebilir Kitapta size bazı basit Python ile endüstri standardı AES kullanarak dosyalarınızı nasıl güvende tutabileceğinizi göstereceğim.
Gereksinimler:
- Python 3.7
- PyAesCrypt kitaplığı
- hashlib kütüphanesi
Bu kitaplıklara sahip değilseniz, şunu yazarak kolayca kurabilirsiniz:
pip3 hashlib'i kurun
pip3 PyAesCrypt'i kurun
terminalde (veya CMD)
Bunlara zaten sahip olmalısınız:
- rastgele kitaplık
- işletim sistemi kitaplığı
- sistem kitaplığı
OS X kullanıyorum, ancak dosya yollarındaki eğik çizgilerin yönü dışında çok fazla önemli olmamalı (OS X: /, Windows: )
Lütfen dikkat: Bazı aksaklıklar nedeniyle, koddaki girintiler herhangi bir nedenle görünmüyor. Sonuç olarak görüntülenen kodda girintiler olmayacak, ancak sonunda eklediğim Python dosyalarında ve ekteki resimlerde mevcutlar. Girinti olmaması nedeniyle çalışmadığından, kodu doğrudan görüntülenen metinden almayın
Tüm bağımlılıkları yüklediyseniz, Adım 1'e geçelim.
Adım 1: Kurulum Dosyasını Yazma
Bunu bu kadar güvenli kılan faktörlerden biri, parolayı kontrol etmek için karmaların kullanılmasıdır. Kurulum dosyası (benimki setupsafe.py'yi arıyorum) şöyle olacak:
- Parola için bir klasör ve sahte dosyalar oluşturun
- Şifreyi ayarlayın
- Dosya numarasını ayarlayın
- Şifreyi karıştır
Öncelikle, bağımlılıklarımızı içe aktaracağız:
sys import'dan *
işletim sistemini içe aktar
rastgele içe aktar
hashlib'i içe aktar
Ardından, parola karmasını ve sahte dosyaları barındıracak bir klasör oluşturacağız:
deneyin: os.path.exists değilse('desktop/safesetup'):
os.mkdir('desktop/safesetup/')
OSError hariç:
print("Klasör oluşturma hatası")
Bu kod, safesetup adlı bir klasör oluşturacaktır (zaten yoksa).
Bundan sonra, şifreyi ayarlayacağız ve sahte dosyalarda gezinme yolumuz olarak 1 ile 100 arasında rastgele bir sayı üreteceğiz:
global parolaparola = argv[1].encode('utf-8')
n = rastgele.randint(1, 101)
Artık parolamız ve dosya numaramız olduğuna göre, safesetup içinde 99 sahte dosya ve parola karmamızı içeren bir gerçek dosya oluşturacağız:
x aralığında(101): if(x != n):
f = open(("masaüstü/güvenli kurulum/"+str(x)), "w+")
f.kapat()
Başka:
parola = hashlib.sha256(parola).hexdigest()
f = open(("masaüstü/güvenli kurulum/"+str(x)), "w+")
f.write(şifre)
f.kapat()
yazdır(n)
Gerçek dosya, n tamsayısı ne olursa olsun denir. Bu dosya, sha256 algoritması kullanılarak hash edildikten sonra şifremizi içerir (bu hash algoritması kripto para birimlerinde, özellikle Bitcoin'de yaygın olarak kullanılır).
Şifre kadar önemli olduğu için n'nin ne olduğunu hatırlayın (konsolda yazdırılacaktır).
Kurulum programımız için ihtiyacımız olan tek şey bu, bu yüzden şimdi şifreleme/şifre çözme programına geçeceğiz.
2. Adım: Şifreleme/şifre çözme Dosyası
Ana dosyanın kurulum bölümü, bağımlılıkları içe aktarır, girilen şifreyi hash eder ve girilen dosya numarasını kullanarak gerçek şifre karmasını alır.
İlk olarak, bağımlılıklar:
sys import *import işletim sisteminden
pyAesCrypt'i içe aktar
hashlib'i içe aktar
Ardından, girilen parolanın karma değeri:
parola = argv[1].encode('utf-8')parola = hashlib.sha256(parola).hexdigest()
Son olarak, karma parola alımı:
file_key = str(argv[2])hash = open(("desktop/safesetup/" + file_key), ("r+")).read()
Şifreleme dosyasının ikinci bölümü, karmaları karşılaştırır, karşılaştırmanın doğruluğunu belirler ve seçtiğiniz dosyanızı şifrelemek veya şifresini çözmek için AESCrypt python kitaplığını kullanır. Bu oldukça büyük bir kod yığını, ancak onu parçalayacağım:
if(şifre == hash): print("Şifre kabul edildi")
arabellekBoyutu = 64 * 1024
operasyon = str(input("Dosyaları alıyor musunuz veya şifreliyor musunuz? (r veya e) "))
if(işlem == 'r'):
dosya_adı = str(input("Alınacak dosya: "))
pyAesCrypt.decryptFile((file_name + ".aes"), file_name, password, bufferSize)
os.remove((dosya_adı + ".aes"))
elif(işlem == 'e'):
dosya_adı = str(input("Şifrelenecek dosya: "))
pyAesCrypt.encryptFile(file_name, (file_name + ".aes"), password, bufferSize)
os.remove(dosya_adı)
Başka:
print("Hata:Yanlış giriş")
Başka:
print("Erişim engellendi")
İlk if ifadesi, karma parolaların eşleşip eşleşmediğini belirler. Bunu yaparlarsa, dosyaları şifrelemek mi yoksa şifreli dosyaları almak mı istediğinizi sormaya devam eder. Girişinize bağlı olarak, sağlanan dosyayı şifreleyecek veya şifresini çözecektir. Dosyanın adını vermeniz istendiğinde, dosya python programıyla aynı dizinde değilse yolu belirttiğinizden emin olun. Program dosyayı önceki durumunda siler, yerine şifreli bir.aes dosyası koyar veya şifresini çözer ve orijinal dosya ile değiştirir.
Gelecekte, Python OpenCV kitaplığını kullanarak yüz tanımayı içerecek şekilde bunu güncelleyebilirim, ancak şimdilik parolaların yeterli olması gerekecek.
Adım 3: Dosyaların Çalıştırılması
Kurulum dosyasını çalıştırmak için şu adımları izleyin:
1. Terminali yazın:
python3 directory/setupname.py parolası (dizin, kurulum adı ve parolanın ilgili değerleriyle değiştirilmesi)
2. Terminal dosya numaranızı çıkaracaktır. Bunu sakla.
Şifreleme/şifre çözme programını çalıştırmak için şu adımları izleyin:
1. Terminali yazın:
python3 directory/filename.py parola dosya numarası (dizin, dosya adı, parola ve dosya numarasını ilgili değerleriyle değiştirir)
2. Terminal daha sonra şifrenizi kabul edecek veya reddedecektir. Reddedilirse tekrar deneyin ve doğru değerleri girdiğinizden emin olun. Erişim sağlandığında, terminal size bir dosyayı şifrelemek mi yoksa bir dosyayı almak mı istediğinizi soracaktır. Bir dosyayı şifrelemek için e yazın ve şifrelenmiş bir dosyayı almak için r yazın.
3. Daha sonra dosya adını vermeniz istenecektir. Dosyanın dizinini, adını ve ayrıca dosya uzantısını sağlamayı unutmayın. Ancak, bir dosyanın şifresini çözüyorsanız, kod bunu hesaba kattığından, uzantının.aes bölümünü yazmayın.
4. Program daha sonra sağlanan dosyayı şifreler veya şifresini çözer ve dosyayı önceki durumunda siler (şifreli veya şifresi çözülmüş dosyayı korur).
İşte! Bunu öğretilebilir hale getirdiğiniz için teşekkürler, kod eğitimlerini okumanın en eğlenceli şey olmadığını biliyorum. Bunu denemek isteyenler için python dosyaları bu adımda eklenmiştir. Bir kez daha, okuduğunuz için teşekkürler ve gelecekteki kodlama çabalarınızda size iyi şanslar diliyorum.
Önerilen:
Python'da Sezar Şifreleme Programı: 4 Adım
Python'da Caesar Cipher Programı: Caesar Cipher, şifrelemesi ve şifresini çözmesi kolay, eski ve yaygın olarak kullanılan bir şifredir. Tamamen yeni bir alfabe oluşturmak için alfabenin harflerini kaydırarak çalışır (ABCDEF 4 harfin üzerine kayabilir ve EFGHIJ olur).Sezar C
MP3 Kod Çözme için Arduino Kütüphanesi: 4 Adım
MP3 Kod Çözme için Arduino Kitaplığı: ESP32 ve ARM M serisi MP3 kod çözme gibi hızlı mikro denetleyicilerin artan yaygınlığı nedeniyle artık uzman donanım tarafından yapılması gerekmez. Kod çözme artık yazılımda yapılabilir. Harika bir kütüphane var
Şifre Kontrollü Güvenlik Kutusu: 4 Adım
Şifre Kontrollü Güvenlik Kutusu: Projemi yapmak için bu örneği kullanıyorum. Ve bazı işleri değiştiriyorum, örneğin düğmeyi servoya. Bu güvenlik kutusunu yapıyorum çünkü bazen ailem ve ben bazı önemli şeyleri kaybedeceğiz. Buna sahip olmak, ailem ve ben kaybetme konusunda mücadele etmeyeceğiz
ISU Öğrencisi Olarak Ücretsiz Yazılım Nasıl İndirilir (Microsoft, Adobe ve Güvenlik Yazılımı: 24 Adım)
ISU Öğrencisi Olarak Ücretsiz Yazılım Nasıl İndirilir (Microsoft, Adobe ve Güvenlik Yazılımı: Adobe için: 1. adıma gidin Microsoft için: 8. adıma gidin Güvenlik için: 12. adıma gidin. Azure için: 16. adıma gidin
One Touch Kadın Güvenlik Güvenlik Sistemi: 3 Adım
Tek Dokunuşta Kadın Güvenlik Güvenlik Sistemi: Tek dokunuşla alarm 8051 mikro denetleyici kullanan kadın güvenlik sistemi Günümüz Dünyasında Kadın Güvenliği, her Ülkede En Önemli Konudur. Bugün Kadınlar Taciz Ediliyor, Zorlanıyor Ve Bazen Acil Yardım Gerektiğinde. Gerekli Yer Yoktur