출력 :ProtectedMemory.Unprotect 내가 (영숫자) 인증 토큰을 저장하고 복구하는 데이 코드를 가지고 쓰레기
public static void Store (string token)
{
byte[] buffer = Encoding.UTF8.GetBytes (token.PadRight (32));
ProtectedMemory.Protect (buffer, MemoryProtectionScope.SameLogon);
Settings.Default.UserToken = buffer.ToHexString();
Settings.Default.Save();
}
public static string Retrieve()
{
byte[] buffer = Settings.Default.UserToken.FromHexString();
if (buffer.Length == 0)
return String.Empty;
ProtectedMemory.Unprotect (buffer, MemoryProtectionScope.SameLogon);
return Encoding.UTF8.GetString (buffer).Trim();
}
을 그리고 몇 번 내가 (FD
많은 쓰레기를 얻을 수 있지만 그것은 대부분 잘 작동 바이트 및 일부 읽을 수있는 것들). 나는 이것이 재부팅 할 때만 일어난다 고 생각하는데, 재현하는데 어려움이있다.
의도 한 동작입니까? 즉, MemoryProtectionScope.SameLogon
은 재부팅시 데이터를 항상 읽을 수 없다는 것을 의미합니까? 내가 뭔가 잘못하고 있는거야?
FromHexString
및 ToHexString
방법은 사용자가 기대하는 바를 정확하게 수행합니다.
감사합니다. – miniBill