Det hjælper ikke meget at overskrive en streng i sprog med immutable strings. Den oprindelige værdi vil stadig ligge i hukommelsen indtil den bliver garbage collected, hvilket ingen ved hvornår sker.
Hvis sproget tillader det, så kan man overveje at overskrive den underliggende array af chars; men jeg ved faktisk ikke på stående fod hvad der helt specifikt sker i C# ved foo_string[i] = 0x00; jeg vil formode at man 'omgår' immutable egenskaben, dvs at der ikke oprettes en ny streng.
Tilsvarende med et byte[]; overskrivning a la my_secret_data = null; er ikke tilstrækkelig.
SecureString er en forbedring, men stadig ikke helt sikker. Hvis kravet er at sensitive data ikke må optræde i RAM, så kommer man ikke udenom hardware krypto-moduler (som koster spidsen af en jetjager).
SecureString er rigtigt smart hvis man har noget som kan kaldes med en saadan.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.