' This example demonstrates the AppendChar,
' InsertAt, RemoveAt, SetAt, and Clear methods.
Imports System
Imports System.Security
Class Sample
Public Shared Sub Main()
Dim msg1 As String = " SecureString = {0}" & vbCrLf & " Length = {1}" & vbCrLf
Dim msg2 As String = "This example demonstrates the effect of the AppendChar, InsertAt," & vbCrLf & _
"RemoveAt, SetAt, and Clear methods on the value of a SecureString" & vbCrLf & _
"object. This example simulates the value of the object because the" & vbCrLf & _
"actual value is encrypted." & vbCrLf
Dim ss As 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"c)
Console.WriteLine(msg1, """a""", ss.Length)
Console.WriteLine("3) AppendChar: Append 'X' to the value:")
ss.AppendChar("X"c)
Console.WriteLine(msg1, """aX""", ss.Length)
Console.WriteLine("4) AppendChar: Append 'c' to the value:")
ss.AppendChar("c"c)
Console.WriteLine(msg1, """aXc""", ss.Length)
Console.WriteLine(("5) InsertAt: Insert 'd' at the end of the value (equivalent" & vbCrLf & " to AppendChar):"))
ss.InsertAt(ss.Length, "d"c)
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"c)
Console.WriteLine(msg1, """abc""", ss.Length)
Console.WriteLine("8) Clear: Delete the value of the SecureString object:")
ss.Clear()
Console.WriteLine(msg1, """""", ss.Length)
End Sub 'Main
End Class 'Sample
'
'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
'
// 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
*/
// This example demonstrates the AppendChar,
// InsertAt, RemoveAt, SetAt, and Clear methods.
using namespace System;
using namespace System::Security;
int main()
{
String^ msg1 = L" SecureString = {0}\n Length = {1}\n";
String^ msg2 = L"This example demonstrates the effect of the AppendChar, InsertAt,\n"
L"RemoveAt, SetAt, and Clear methods on the value of a SecureString\n"
L"object. This example simulates the value of the object because the\n"
L"actual value is encrypted.\n";
SecureString ^ ss = gcnew 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( L"1) The initial value of the SecureString object:" );
Console::WriteLine( msg1, L"\"\"", ss->Length );
Console::WriteLine( L"2) AppendChar: Append 'a' to the value:" );
ss->AppendChar( 'a' );
Console::WriteLine( msg1, L"\"a\"", ss->Length );
Console::WriteLine( L"3) AppendChar: Append 'X' to the value:" );
ss->AppendChar( 'X' );
Console::WriteLine( msg1, L"\"aX\"", ss->Length );
Console::WriteLine( L"4) AppendChar: Append 'c' to the value:" );
ss->AppendChar( 'c' );
Console::WriteLine( msg1, L"\"aXc\"", ss->Length );
Console::WriteLine( L"5) InsertAt: Insert 'd' at the end of the value (equivalent\n"
L" to AppendChar):" );
ss->InsertAt( ss->Length, 'd' );
Console::WriteLine( msg1, L"\"aXcd\"", ss->Length );
Console::WriteLine( L"6) RemoveAt: Remove the last character ('d') from the value:" );
ss->RemoveAt( 3 );
Console::WriteLine( msg1, L"\"aXc\"", ss->Length );
Console::WriteLine( L"7) SetAt: Set the second character ('X') of the value to 'b':" );
ss->SetAt( 1, 'b' );
Console::WriteLine( msg1, L"\"abc\"", ss->Length );
Console::WriteLine( L"8) Clear: Delete the value of the SecureString object:" );
ss->Clear();
Console::WriteLine( msg1, L"\"\"", ss->Length );
return 0;
}
/*
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
*/