SecureString Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса SecureString.
Перегрузки
SecureString() |
Инициализирует новый экземпляр класса SecureString. |
SecureString(Char*, Int32) |
Инициализирует новый экземпляр класса SecureString из подмассива объектов Char. Этот конструктор несовместим с CLS. CLS-совместимая альтернатива — SecureString(). |
SecureString()
- Исходный код:
- SecureString.cs
- Исходный код:
- SecureString.cs
- Исходный код:
- SecureString.cs
Инициализирует новый экземпляр класса SecureString.
public:
SecureString();
public SecureString ();
Public Sub New ()
Исключения
Произошла ошибка при защите значения этого экземпляра или снятии с него защиты.
Эта операция не поддерживается этой платформой.
Примеры
В следующем примере для создания экземпляра нового SecureString объекта используется конструктор по умолчанию (или конструктор без параметров). Затем он вызывает AppendChar метод , чтобы добавить в него массив символов.
using namespace System;
using namespace System::Security;
int main(array<System::String ^> ^args)
{
// Define the string value to assign to a new secure string.
Char chars[4] = { 't', 'e', 's', 't' };
// Instantiate the secure string.
SecureString^ testString = gcnew SecureString();
// Assign the character array to the secure string.
for each (Char ch in chars)
{
testString->AppendChar(ch);
}
// Display secure string length.
Console::WriteLine("The length of the string is {0} characters.",
testString->Length);
delete testString;
return 0;
}
// The example displays the following output:
// The length of the string is 4 characters.
using System;
using System.Security;
public class Example
{
public static void Main()
{
// Define the string value to assign to a new secure string.
char[] chars = { 't', 'e', 's', 't' };
// Instantiate the secure string.
SecureString testString = new SecureString();
// Assign the character array to the secure string.
foreach (char ch in chars)
testString.AppendChar(ch);
// Display secure string length.
Console.WriteLine("The length of the string is {0} characters.",
testString.Length);
testString.Dispose();
}
}
// The example displays the following output:
// The length of the string is 4 characters.
Imports System.Security
Module Example
Public Sub Main()
' Define the string value to assign to a new secure string.
Dim chars() As Char = { "t"c, "e"c, "s"c, "t"c }
' Instantiate the secure string.
Dim testString As SecureString = New SecureString()
' Assign the character array to the secure string.
For Each ch As char In chars
testString.AppendChar(ch)
Next
' Display secure string length.
Console.WriteLine("The length of the string is {0} characters.", _
testString.Length)
testString.Dispose()
End Sub
End Module
' The example displays the following output:
' The length of the string is 4 characters.
В следующем примере создается SecureString объект на основе значения String объекта .
using namespace System;
using namespace System::Security;
int main(array<System::String ^> ^args)
{
// Define the string value to be assigned to the secure string.
String^ initString = "TestString";
// Instantiate the secure string.
SecureString^ testString = gcnew SecureString();
// Assign the character array to the secure string.
for each (Char ch in initString)
{
testString->AppendChar(ch);
}
// Display secure string length.
Console::WriteLine("The length of the string is {0} characters.",
testString->Length);
delete testString;
return 0;
}
// The example displays the following output:
// The length of the string is 10 characters.
using System;
using System.Security;
public class Example
{
public static void Main()
{
// Define the string value to be assigned to the secure string.
string initString = "TestString";
// Instantiate the secure string.
SecureString testString = new SecureString();
// Use the AppendChar method to add each char value to the secure string.
foreach (char ch in initString)
testString.AppendChar(ch);
// Display secure string length.
Console.WriteLine("The length of the string is {0} characters.",
testString.Length);
testString.Dispose();
}
}
// The example displays the following output:
// The length of the string is 10 characters.
Imports System.Security
Module Example
Public Sub Main()
' Define the string value to be assigned to the secure string.
Dim initString As String = "TestString"
' Instantiate the secure string.
Dim testString As SecureString = New SecureString()
' Use the AppendChar method to add each char value to the secure string.
For Each ch As Char In initString
testString.AppendChar(ch)
Next
' Display secure string length.
Console.WriteLine("The length of the string is {0} characters.", _
testString.Length)
testString.Dispose()
End Sub
End Module
' The example displays the following output:
' The length of the string is 10 characters.
Применяется к
SecureString(Char*, Int32)
- Исходный код:
- SecureString.cs
- Исходный код:
- SecureString.cs
- Исходный код:
- SecureString.cs
Важно!
Этот API несовместим с CLS.
Инициализирует новый экземпляр класса SecureString из подмассива объектов Char.
Этот конструктор несовместим с CLS. CLS-совместимая альтернатива — SecureString().
public:
SecureString(char* value, int length);
[System.CLSCompliant(false)]
public SecureString (char* value, int length);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public SecureString (char* value, int length);
[<System.CLSCompliant(false)>]
new System.Security.SecureString : nativeptr<char> * int -> System.Security.SecureString
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
new System.Security.SecureString : nativeptr<char> * int -> System.Security.SecureString
Параметры
- length
- Int32
Число элементов массива value
, включаемых в новый экземпляр.
- Атрибуты
Исключения
value
имеет значение null
.
length
меньше нуля или больше 65 536.
Произошла ошибка при защите значения этой защищенной строки или снятии с него защиты.
Эта операция не поддерживается этой платформой.
Примеры
В следующем примере создается экземпляр нового SecureString объекта путем передачи его конструктору указателя на массив символов.
using namespace System;
using namespace System::Security;
int main(array<System::String ^> ^args)
{
SecureString^ testString;
// Define the string value to assign to a new secure string.
Char chars[4] = { 't', 'e', 's', 't' };
// Instantiate a new secure string.
Char* pChars = &chars[0];
testString = gcnew SecureString(pChars, sizeof(chars)/sizeof(chars[0]));
// Display secure string length.
Console::WriteLine("The length of the string is {0} characters.",
testString->Length);
delete testString;
return 0;
}
// The example displays the following output:
// The length of the string is 4 characters.
using System;
using System.Security;
public class Example
{
unsafe public static void Main()
{
SecureString testString;
// Define the string value to assign to a new secure string.
char[] chars = { 't', 'e', 's', 't' };
// Instantiate a new secure string.
fixed(char* pChars = chars)
{
testString = new SecureString(pChars, chars.Length);
}
// Display secure string length.
Console.WriteLine("The length of the string is {0} characters.",
testString.Length);
testString.Dispose();
}
}
// The example displays the following output:
// The length of the string is 4 characters.
Комментарии
Этот конструктор инициализирует новый SecureString объект числом символов, заданным параметром length
value
; значение экземпляра затем шифруется.
В C# этот конструктор определяется только в контексте небезопасного кода.