Export (0) Print
Expand All

SecureString.SetAt Method

Replaces the existing character at the specified index position with another character.

Namespace: System.Security
Assembly: mscorlib (in mscorlib.dll)

'Declaration
Public Sub SetAt ( _
	index As Integer, _
	c As Char _
)
'Usage
Dim instance As SecureString
Dim index As Integer
Dim c As Char

instance.SetAt(index, c)
public void SetAt (
	int index, 
	char c
)
public function SetAt (
	index : int, 
	c : char
)
Not applicable.

Parameters

index

The index position of an existing character in this secure string

c

A character that replaces the existing character.

Exception typeCondition

ObjectDisposedException

This secure string has already been disposed.

InvalidOperationException

This secure string is read-only.

ArgumentOutOfRangeException

index is less than zero, or greater than or equal to the length of this secure string.

CryptographicException

An error occurred while encrypting or decrypting the value of this secure string.

The index is zero-based and the first character in this instance is at index position zero.

The value of the secure string, if any, is decrypted; c is assigned to the specified index position; then the new value is encrypted.

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.
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
'

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

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft