Thread Starter
#0
Dosya bütünlüğü, veri güvenliği ve doğruluğu açısından kritik bir unsurdur. Özellikle büyük veri setleri veya önemli belgelerle çalışırken, dosyaların bozulmaması ve beklenmedik değişikliklere uğramaması gerekir. Python ile basit bir dosya bütünlüğü kontrol scripti oluşturmak, bu süreci otomatikleştirmenin etkili bir yoludur.
Python'da dosya bütünlüğünü kontrol etmek için en yaygın yöntemlerden biri dosyanın hash değerini hesaplamaktır. Hash fonksiyonları, dosyanın içeriğine dayalı olarak sabit uzunlukta bir çıktı üretir. Eğer dosya içeriği değişirse, hash değeri de değişecektir. Bu yöntem, dosyanın bozulup bozulmadığını anlamanın hızlı bir yolunu sunar.
Aşağıda, Python ile basit bir dosya bütünlüğü kontrol scripti örneği verilmiştir:
Yukarıdaki script, belirttiğiniz dosyanın hash değerini hesaplar ve ardından daha önce belirlediğiniz beklenen hash değeri ile karşılaştırır. Eğer hash değerleri eşleşirse, dosya bütünlüğü korunmuş demektir. Aksi halde, dosya bozulmuş veya değiştirilmiş olabilir.
Bu scripti daha da geliştirerek, dosya bütünlüğü kontrol sürecini otomatik hale getirebilir ve sonuçları bir log dosyasına yazdırabilirsiniz. Sizler bu konuda neler düşünüyorsunuz? Dosya bütünlüğü kontrolü için başka yöntemler veya araçlar kullanıyor musunuz? Kendi deneyimlerinizi paylaşabilirsiniz.
Python'da dosya bütünlüğünü kontrol etmek için en yaygın yöntemlerden biri dosyanın hash değerini hesaplamaktır. Hash fonksiyonları, dosyanın içeriğine dayalı olarak sabit uzunlukta bir çıktı üretir. Eğer dosya içeriği değişirse, hash değeri de değişecektir. Bu yöntem, dosyanın bozulup bozulmadığını anlamanın hızlı bir yolunu sunar.
Aşağıda, Python ile basit bir dosya bütünlüğü kontrol scripti örneği verilmiştir:
CODE
12345678910111213141516171819202122232425
import hashlib
def dosya_hash_hesapla(dosya_yolu):
hash_objesi = hashlib.sha256() # SHA-256 hash algoritmasını kullanıyoruz
try:
with open(dosya_yolu, 'rb') as dosya:
while chunk := dosya.read(4096): # Dosyayı parça parça okuyoruz
hash_objesi.update(chunk)
return hash_objesi.hexdigest() # Hash değerini döndürüyoruz
except FileNotFoundError:
print(f"Hata: Dosya bulunamadı: {dosya_yolu}")
return None
def dosya_butunlugu_kontrol(dosya_yolu, beklenen_hash):
mevcut_hash = dosya_hash_hesapla(dosya_yolu)
if mevcut_hash == beklenen_hash:
print("Dosya bütünlüğü kontrolü başarılı: Dosya değişmemiş.")
else:
print("Uyarı: Dosya bütünlüğü kontrolü başarısız! Dosya değişmiş olabilir.")
[b]Kullanım örneği[/b]
beklenen_hash = 'beklenen_hash_degeri_buraya'
dosya_yolu = 'kontrol_edilecek_dosya.txt'
dosya_butunlugu_kontrol(dosya_yolu, beklenen_hash)
Yukarıdaki script, belirttiğiniz dosyanın hash değerini hesaplar ve ardından daha önce belirlediğiniz beklenen hash değeri ile karşılaştırır. Eğer hash değerleri eşleşirse, dosya bütünlüğü korunmuş demektir. Aksi halde, dosya bozulmuş veya değiştirilmiş olabilir.
Bu scripti daha da geliştirerek, dosya bütünlüğü kontrol sürecini otomatik hale getirebilir ve sonuçları bir log dosyasına yazdırabilirsiniz. Sizler bu konuda neler düşünüyorsunuz? Dosya bütünlüğü kontrolü için başka yöntemler veya araçlar kullanıyor musunuz? Kendi deneyimlerinizi paylaşabilirsiniz.