SecureString.Clear Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Elimina el valor de la cadena segura actual.
public:
void Clear();
public void Clear ();
member this.Clear : unit -> unit
Public Sub Clear ()
Excepciones
Esta cadena segura ya se ha desechado.
Esta cadena segura es de sólo lectura.
Ejemplos
En el ejemplo siguiente se muestra cómo los AppendCharmétodos , InsertAtRemoveAt, SetAt, y Clear afectan al valor de un SecureString objeto .
using namespace System;
using namespace System::Security;
void main()
{
String^ msg = L" The current length of the SecureString object: {0}\n";
SecureString ^ ss = gcnew SecureString;
Console::WriteLine(L"1) Instantiate the SecureString object:");
Console::WriteLine(msg, ss->Length );
Console::WriteLine(L"2) Append 'a' to the value:");
ss->AppendChar('a');
Console::WriteLine(msg, ss->Length );
Console::WriteLine(L"3) Append 'X' to the value:");
ss->AppendChar('X');
Console::WriteLine(msg, ss->Length);
Console::WriteLine(L"4) Append 'c' to the value:");
ss->AppendChar('c');
Console::WriteLine(msg, ss->Length);
Console::WriteLine(L"5) Insert 'd' at the end of the value:");
ss->InsertAt(ss->Length, 'd');
Console::WriteLine(msg, ss->Length);
Console::WriteLine(L"6) Remove the last character ('d') from the value:");
ss->RemoveAt(3);
Console::WriteLine(msg, ss->Length);
Console::WriteLine(L"7) Set the second character ('X') of the value to 'b':" );
ss->SetAt(1, 'b');
Console::WriteLine(msg, ss->Length );
Console::WriteLine(L"8) Delete the value of the SecureString object:");
ss->Clear();
Console::WriteLine(msg, ss->Length);
delete ss;
}
/*
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
*/
using System;
using System.Security;
class SecureStringExample
{
public static void Main()
{
string msg = "The current length of the SecureString object: {0}\n";
Console.WriteLine("1) Instantiate the SecureString object.");
SecureString ss = new SecureString();
Console.WriteLine(msg, ss.Length);
Console.WriteLine("2) Append 'a' to the value.");
ss.AppendChar('a');
Console.WriteLine(msg, ss.Length);
Console.WriteLine("3) Append 'X' to the value.");
ss.AppendChar('X');
Console.WriteLine(msg, ss.Length);
Console.WriteLine("4) Append 'c' to the value.");
ss.AppendChar('c');
Console.WriteLine(msg, ss.Length);
Console.WriteLine("5) Insert 'd' at the end of the value.");
ss.InsertAt(ss.Length, 'd');
Console.WriteLine(msg, ss.Length);
Console.WriteLine("6) Remove the last character ('d') from the value.");
ss.RemoveAt(3);
Console.WriteLine(msg, ss.Length);
Console.WriteLine("7) Set the second character of the value to 'b'.");
ss.SetAt(1, 'b');
Console.WriteLine(msg, ss.Length);
Console.WriteLine("8) Delete the value of the SecureString object:");
ss.Clear();
Console.WriteLine(msg, ss.Length);
ss.Dispose();
}
}
// The example displays the following output:
// 1) Instantiate the SecureString object.
// The current length of the SecureString object: 0
//
// 2) Append 'a' to the value.
// The current length of the SecureString object: 1
//
// 3) Append 'X' to the value.
// The current length of the SecureString object: 2
//
// 4) Append 'c' to the value.
// The current length of the SecureString object: 3
//
// 5) Insert 'd' at the end of the value.
// The current length of the SecureString object: 4
//
// 6) Remove the last character ('d') from the value.
// The current length of the SecureString object: 3
//
// 7) Set the second character of the value to 'b'.
// The current length of the SecureString object: 3
//
// 8) Delete the value of the SecureString object:
// The current length of the SecureString object: 0
Imports System.Security
Module Example
Public Sub Main()
Dim msg As String = "The current length of the SecureString object: {0}" + vbCrLf
Console.WriteLine("1) Instantiate the SecureString object.")
Dim ss As New SecureString()
Console.WriteLine(msg, ss.Length)
Console.WriteLine("2) Append 'a' to the value.")
ss.AppendChar("a"c)
Console.WriteLine(msg, ss.Length)
Console.WriteLine("3) Append 'X' to the value.")
ss.AppendChar("X"c)
Console.WriteLine(msg, ss.Length)
Console.WriteLine("4) Append 'c' to the value.")
ss.AppendChar("c"c)
Console.WriteLine(msg, ss.Length)
Console.WriteLine("5) Insert 'd' at the end of the value.")
ss.InsertAt(ss.Length, "d"c)
Console.WriteLine(msg, ss.Length)
Console.WriteLine("6) Remove the last character ('d') from the value.")
ss.RemoveAt(3)
Console.WriteLine(msg, ss.Length)
Console.WriteLine("7) Set the second character of the value to 'b'.")
ss.SetAt(1, "b"c)
Console.WriteLine(msg, ss.Length)
Console.WriteLine("8) Delete the value of the SecureString object:")
ss.Clear()
Console.WriteLine(msg, ss.Length)
ss.Dispose()
End Sub
End Module
' The example displays the following output:
' 1) Instantiate the SecureString object.
' The current length of the SecureString object: 0
'
' 2) Append 'a' to the value.
' The current length of the SecureString object: 1
'
' 3) Append 'X' to the value.
' The current length of the SecureString object: 2
'
' 4) Append 'c' to the value.
' The current length of the SecureString object: 3
'
' 5) Insert 'd' at the end of the value.
' The current length of the SecureString object: 4
'
' 6) Remove the last character ('d') from the value.
' The current length of the SecureString object: 3
'
' 7) Set the second character of the value to 'b'.
' The current length of the SecureString object: 3
'
' 8) Delete the value of the SecureString object:
' The current length of the SecureString object: 0
Comentarios
La memoria del equipo que contiene el valor de esta cadena segura se establece en cero y, a continuación, la longitud del valor de esta cadena segura se establece en cero.