Hogyan történik az adatok felülírása C# nyelven?
sobes.tech MI
Válasz az MI-től
A C#-ban az adatok törlése (data wiping) általában úgy valósul meg, hogy a változó memóriáját többször véletlenszerű vagy fix értékekkel töltjük ki, hogy megakadályozzuk érzékeny információk visszanyerését.
A stringek esetében ez nehéz, mivel a C#-ban a stringek immutable-ek, de byte vagy char tömbök esetében használható az Array.Clear metódus vagy ciklussal való kitöltés.
Példa egy byte tömb felülírására:
void WipeData(byte[] data)
{
if (data == null) return;
for (int i = 0; i < data.Length; i++)
{
data[i] = 0;
}
}
Biztonságosabb felülíráshoz használhatjuk a System.Security.Cryptography.RandomNumberGenerator osztályt, amellyel véletlenszerű adatokkal tölthetjük fel a tömböt a törlés előtt.
Fontos megjegyezni, hogy a szemétgyűjtő és a fordító optimalizációi miatt a memória teljes és garantált törlése egy kezelt környezetben nehéz feladat.