.NET Framework 類別庫
SecureString 類別

更新:2007 年 11 月

表示應該保持機密的文字。使用該文字時會將其加密以保障隱私權,不再需要該文字時會將其從電腦記憶體中刪除。這個類別無法被繼承。

命名空間:  System.Security
組件:  mscorlib (在 mscorlib.dll 中)

語法

Visual Basic (宣告)
Public NotInheritable Class SecureString _
    Inherits CriticalFinalizerObject _
    Implements IDisposable
Visual Basic (使用方式)
Dim instance As SecureString
C#
public sealed class SecureString : CriticalFinalizerObject, 
    IDisposable
Visual C++
public ref class SecureString sealed : public CriticalFinalizerObject, 
    IDisposable
J#
public final class SecureString extends CriticalFinalizerObject implements IDisposable
JScript
public final class SecureString extends CriticalFinalizerObject implements IDisposable
備註

System..::.String 類別的執行個體是不變的,且不再需要它時,無法以程式方式來排程以進行記憶體回收;也就是說,該執行個體在建立之後是唯讀的,且無法預期何時會將其從電腦記憶體中刪除。因此,如果 String 物件包含機密資訊,例如密碼、信用卡號碼或個人資料,使用該物件後會有洩漏機密資訊的風險,因為您的應用程式無法將資料從電腦記憶體中刪除。

SecureString 物件與 String 物件的相似之處在於它具有文字值。不過,SecureString 物件的值會自動加密,且可以在您的應用程式將其標示為唯讀前進行修改,也可以由應用程式或 .NET Framework 記憶體回收行程將其從電腦記憶體中刪除。

SecureString 執行個體的值,會在初始化執行個體或修改該值時自動加密。您的應用程式可使執行個體永遠不變,並透過叫用 MakeReadOnly 方法避免進一步修改。

請注意,SecureString 並沒有檢查、比較或轉換 SecureString 值的成員。缺少這類成員有助於防止執行個體值被不慎或惡意公開。請使用適當的 System.Runtime.InteropServices..::.Marshal 類別成員,例如 SecureStringToBSTR 方法,管理 SecureString 物件的值。

SecureString 類別衍生自 CriticalFinalizerObject 類別,並實作 IDisposable 介面。如需實作 IDisposable 介面的詳細資訊,請參閱 記憶體回收

SecureString 類別及其成員對 COM 為不可見。如需詳細資訊,請參閱 ComVisibleAttribute

Windows 2000 平台注意事項:

除了 Windows 2000 Service Pack 4 和更新的版本之外,Windows 2000 Service Pack 3 也支援 SecureString

繼承階層架構

System..::.Object
  System.Runtime.ConstrainedExecution..::.CriticalFinalizerObject
    System.Security..::.SecureString
執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。
平台

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.5、3.0、2.0
請參閱

參考

標記 :


Page view tracker