2011-07-01 39 views
2

是不是以任何方式更好地做到這一點當涉及到MSIL反編譯時,SecureString會給我帶來什麼好處嗎?

char[] sec = { 'a', 'b', 'c'}; 

SecureString s = new SecureString(); 
foreach (char c in sec) { 
    s.AppendChar(c); 
} 

IntPtr pointerName = System.Runtime.InteropServices.Marshal.SecureStringToBSTR(s); 
String secret = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(pointerName); 

比這

String secret = "abc"; 

或本

char[] sec = { 'a', 'b', 'c'}; 
String secret = new Secret(sec); 

如果我要保護 「ABC」 從反編譯MSIL beeing檢測碼?

回答

3

SecureString號存在是爲了防止敏感文本(例如密碼)被保留在內存中。

相關問題