Bei der Anwendungsentwicklung ist der Schutz sensibler Daten wie Passwörter von entscheidender Bedeutung. Wenn Sie std::string zum Speichern solcher Daten verwenden, ist das sichere Löschen der Zeichenfolge nach der Verwendung von entscheidender Bedeutung.
Das Problem:
Das Speichern sensibler Daten, wie es ein char *-Array zulässt für die Verwendung von APIs wie SecureZeroMemory zum Löschen der Daten aus dem Speicher. Für std::string muss jedoch eine äquivalente Methode gefunden werden.
Lösung:
Obwohl der ursprüngliche Plan darin bestand, einen Allokator zu erstellen, um den Speicher sicher auf Null zu setzen, Es wurde festgestellt, dass der Allokator für kleine Werte möglicherweise nicht aufgerufen wird. Daher wird die Verwendung von std::string für die Speicherung sensibler Daten nicht empfohlen.
Alternative:
Um sensible Daten sicher zu speichern und zu löschen, eine speziell auf diesen Zweck zugeschnittene benutzerdefinierte Klasse Zweck umgesetzt werden kann. Diese benutzerdefinierte Klasse würde die notwendige Funktionalität für den sicheren Umgang mit vertraulichen Daten bereitstellen.
Das obige ist der detaillierte Inhalt von## Wie lösche ich vertrauliche Daten, die in einem std::string gespeichert sind, sicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!