Çözüldü Python ile dosyaları güvenlice silen program nasıl yapılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

GT 145

Decapat
Katılım
29 Temmuz 2021
Mesajlar
724
Çözümler
1
Biraz araştırdım bu konuyu. Sanırım dosya üzerine veri falan yazıp bozuyorlarmış içeriğini ama nasıl veri yazılacak anlamadım. Sanırım mesela merhaba diye bir metin olsun, bunu mfdsghgerhfsjfjd gibi bozmayı kastediyorlar. Anlatıp kaynak önerirseniz sevinirim.
 
Son düzenleyen: Moderatör:
Çözüm
Şöyle bir örnek yazabiliriz:

Python:
import os

file_size = os.path.getsize(filename)

with open(filename, "wb") as file_handle:
    file_handle.write(os.urandom(file_size))
Şöyle bir örnek yazabiliriz:

Python:
import os

file_size = os.path.getsize(filename)

with open(filename, "wb") as file_handle:
    file_handle.write(os.urandom(file_size))
 
Çözüm
Dosyaları güvenlice silmekten kastın nedir? OS.Remove kodu tamamen dosyayı ortadan kaldırmaya yetiyor. Yukarıda arkadaşın ilettiği gibi de rastgele dosya boyutuna denk gelen bit değerinde veri gömebilirsin.
 
Son düzenleyen: Moderatör:
Dosyaları güvenlice silmekten kastın nedir? OS.Remove kodu tamamen dosyayı ortadan kaldırmaya yetiyor. Yukarıda arkadaşın ilettiği gibi de rastgele dosya boyutuna denk gelen bit değerinde veri gömebilirsin.
Dosyalar işletim sistemi apileri aracılığıyla kaldırıldığında disk üzerindeki silinen dosyaların içerikleri genelde diskten silinmiyor ve başka bir dosya ile üzerine yeni veri yazılmadığı vakit silinen dosya içeriklerine yeniden ulaşılabiliyor. Güvenli silmekten kasıt bu.
 
Hocam bu kodu bana açar mısınız? os. urandomu hiç anlamadım da kusura bakmayın.
İşletim sistemi apisi aracılığıyla belirten uzunlukta rastgele bayt dizisi üreten bir fonksiyon. Daha detaylı açıklaması şurada mevcut:
 
Şöyle bir örnek yazabiliriz:

Python:
import os.

file_size = os.path.getsize(filename)

with open(filename, "wb") as file_handle:
 file_handle.write(os.urandom(file_size))

Hocam peki bu kod dosyayı kurtarılamaz mı yapıyor? Bir de bunu yerine random kütüphanesi ile random metin dizeleri oluşturup yazsak aynı olur mu?
 
Hocam peki bu kod dosyayı kurtarılamaz mı yapıyor? Bir de bunu yerine random kütüphanesi ile random metin dizeleri oluşturup yazsak aynı olur mu?
Evet, diskte eski verilerin üzerine yeni verileri yazdığı için eski veriler kayboluyor. Yeni veri olarak ne yazıldığı önemli değil lakin istediğin verinin eski verinin üstünü kapatacak uzunlukta olması lazım.
 
Son düzenleme:
Dosyalar işletim sistemi apileri aracılığıyla kaldırıldığında disk üzerindeki silinen dosyaların içerikleri genelde diskten silinmiyor ve başka bir dosya ile üzerine yeni veri yazılmadığı vakit silinen dosya içeriklerine yeniden ulaşılabiliyor. Güvenli silmekten kasıt bu.
Eğer bu dediğin linux tarafında yaşanan bir şey ise raid yüzünden olabilir. Hangi raid çeşiti ile yapıldığına bağlı değişir bu durum.
 
Eğer bu dediğin linux tarafında yaşanan bir şey ise raid yüzünden olabilir. Hangi raid çeşiti ile yapıldığına bağlı değişir bu durum.
Hem Windows hem Linux'de de yaşanan bir şey bu. İşletim sistemleri dosyayı silerken verilerin üzerine veri yazmak yerine dosyanın referansını silip silinen dosyaların verilerini görmezden gelip silinen dosyanın içeriğinin bulunduğu baytların bulunduğu bölgeyi bir nevi boş ve yeni veri yazılabilir hale getiriyor, ancak üzerine yazılma olayının garantisi yok. Ama güvenli bir şekilde dosyayı silerken sistem disk yedeklerini de dikkate almak lazım.
 

Geri
Yukarı