std::string의 민감한 데이터를 안전하게 삭제
암호와 같은 민감한 데이터를 메모리에 저장하려면 보안 삭제 메커니즘이 필요합니다. 잠재적인 메모리 누수. char* 배열은 이러한 목적으로 SecureZeroMemory API를 제공하지만 std::string을 사용하면 유사한 솔루션을 구현해야 한다는 의문이 제기됩니다.
std::string의 과제
할당 해제 시 메모리를 안전하게 0으로 설정하는 사용자 지정 할당자를 생성하려는 시도가 한 번 있었습니다.
<code class="cpp">namespace secure { template <class T> class allocator : public std::allocator<T> {...} }</code>
그러나 이 할당자가 작은 문자열에 대해 항상 호출되는 것은 아니므로 잠재적으로 민감한 데이터가 노출될 수 있다는 사실이 발견되었습니다.
해결책: 민감한 데이터에 std::string 사용을 피하세요
결론은 현재 정의된 std::string은 민감한 데이터를 저장하는 데 적합하지 않다는 것입니다. 이러한 특정 목적을 위해서는 사용자 정의 구현이나 대체 데이터 구조를 고려해야 합니다.
위 내용은 `std::string`에 저장된 민감한 데이터를 어떻게 안전하게 지울 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!