A veces las contraseñas / hash / keys & otra información privada se almacena en variables y, por lo tanto, en la memoria / RAM durante la ejecución del código.
mientras que algunas situaciones (es decir, Kernels de Linux, vea aquí ¿Hay algún parche de distribución o kernel de Linux que borre el espacio de la memoria del proceso después de la ¿salidas de proceso? ) preocuparse por borrar la memoria usada Me preguntaba más acerca de la imagen más amplia:
La pregunta es por lo tanto: ¿Debería el programador de código preocuparse por la limpieza (es decir, la puesta a cero) de la información sensible por él mismo? Más preciso debería hacer algo como esto
int main() { char bufferWithSecret [10]; sprintf (bufferWithSecret, "%d",generateKey()); // do some stuff // ... // ... sprintf (bufferWithSecret, "000000000"); // wipe the memory }