SecureString.Clear Method
.NET Framework 4.5
Deletes the value of the current secure string.
Namespace: System.Security
Assembly: mscorlib (in mscorlib.dll)
| Exception | Condition |
|---|---|
| ObjectDisposedException | This secure string has already been disposed. |
| InvalidOperationException | This secure string is read-only. |
The following code example demonstrates how the AppendChar, InsertAt, RemoveAt, SetAt, and Clear methods affect the value of a SecureString object.
// This example demonstrates the AppendChar, // InsertAt, RemoveAt, SetAt, and Clear methods. using System; using System.Security; class Sample { public static void Main() { string msg1 = " SecureString = {0}\n Length = {1}\n"; string msg2 = "This example demonstrates the effect of the AppendChar, InsertAt,\n" + "RemoveAt, SetAt, and Clear methods on the value of a SecureString\n" + "object. This example simulates the value of the object because the\n" + "actual value is encrypted.\n"; SecureString ss = new SecureString(); /* This sample modifies the contents of a SecureString, ss, in several steps. After each step, the length and simulated value of ss are displayed. The actual value of ss is encrypted. */ Console.WriteLine(msg2); Console.WriteLine("1) The initial value of the SecureString object:"); Console.WriteLine(msg1, "\"\"", ss.Length); Console.WriteLine("2) AppendChar: Append 'a' to the value:"); ss.AppendChar('a'); Console.WriteLine(msg1, "\"a\"", ss.Length); Console.WriteLine("3) AppendChar: Append 'X' to the value:"); ss.AppendChar('X'); Console.WriteLine(msg1, "\"aX\"", ss.Length); Console.WriteLine("4) AppendChar: Append 'c' to the value:"); ss.AppendChar('c'); Console.WriteLine(msg1, "\"aXc\"", ss.Length); Console.WriteLine("5) InsertAt: Insert 'd' at the end of the value (equivalent\n" + " to AppendChar):"); ss.InsertAt(ss.Length, 'd'); Console.WriteLine(msg1, "\"aXcd\"", ss.Length); Console.WriteLine("6) RemoveAt: Remove the last character ('d') from the value:"); ss.RemoveAt(3); Console.WriteLine(msg1, "\"aXc\"", ss.Length); Console.WriteLine("7) SetAt: Set the second character ('X') of the value to 'b':"); ss.SetAt(1, 'b'); Console.WriteLine(msg1, "\"abc\"", ss.Length); Console.WriteLine("8) Clear: Delete the value of the SecureString object:"); ss.Clear(); Console.WriteLine(msg1, "\"\"", ss.Length); } } /* This code example produces the following results: This example demonstrates the effect of the AppendChar, InsertAt, RemoveAt, SetAt, and Clear methods on the value of a SecureString object. This example simulates the value of the object because the actual value is encrypted. 1) The initial value of the SecureString object: SecureString = "" Length = 0 2) AppendChar: Append 'a' to the value: SecureString = "a" Length = 1 3) AppendChar: Append 'X' to the value: SecureString = "aX" Length = 2 4) AppendChar: Append 'c' to the value: SecureString = "aXc" Length = 3 5) InsertAt: Insert 'd' at the end of the value (equivalent to AppendChar): SecureString = "aXcd" Length = 4 6) RemoveAt: Remove the last character ('d') from the value: SecureString = "aXc" Length = 3 7) SetAt: Set the second character ('X') of the value to 'b': SecureString = "abc" Length = 3 8) Clear: Delete the value of the SecureString object: SecureString = "" Length = 0 */
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.