PasswordDeriveBytes 构造函数

定义

初始化 PasswordDeriveBytes 类的新实例。

重载

名称 说明
PasswordDeriveBytes(Byte[], Byte[])

初始化用于派生密钥的密码和密钥 salt 的 PasswordDeriveBytes 类的新实例。

PasswordDeriveBytes(String, Byte[])

使用密码和密钥 salt 初始化类的新实例 PasswordDeriveBytes ,以派生密钥。

PasswordDeriveBytes(Byte[], Byte[], CspParameters)

初始化用于派生密钥的密码、密钥盐和加密服务提供商(CSP)类的新实例 PasswordDeriveBytes

PasswordDeriveBytes(String, Byte[], CspParameters)

使用密码、密钥盐和加密服务提供商 (CSP) 参数初始化类的新实例 PasswordDeriveBytes ,以派生密钥。

PasswordDeriveBytes(Byte[], Byte[], String, Int32)

初始化用于派生密钥的密码、密钥盐、哈希名称和迭代的类的新实例 PasswordDeriveBytes

PasswordDeriveBytes(String, Byte[], String, Int32)

使用密码、密钥盐、哈希名称和用于派生密钥的迭代次数初始化类的新实例 PasswordDeriveBytes

PasswordDeriveBytes(Byte[], Byte[], String, Int32, CspParameters)

初始化类的新实例 PasswordDeriveBytes ,指定用于派生密钥的密码、密钥盐、哈希名称、迭代和加密服务提供程序(CSP)。

PasswordDeriveBytes(String, Byte[], String, Int32, CspParameters)

使用密码、密钥盐、哈希名称、迭代次数和加密服务提供程序 (CSP) 参数初始化类的新实例 PasswordDeriveBytes ,以派生密钥。

PasswordDeriveBytes(Byte[], Byte[])

Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs

初始化用于派生密钥的密码和密钥 salt 的 PasswordDeriveBytes 类的新实例。

public:
 PasswordDeriveBytes(cli::array <System::Byte> ^ password, cli::array <System::Byte> ^ salt);
public PasswordDeriveBytes(byte[] password, byte[]? salt);
public PasswordDeriveBytes(byte[] password, byte[] salt);
new System.Security.Cryptography.PasswordDeriveBytes : byte[] * byte[] -> System.Security.Cryptography.PasswordDeriveBytes
Public Sub New (password As Byte(), salt As Byte())

参数

password
Byte[]

要为其派生密钥的密码。

salt
Byte[]

要用于派生密钥的键盐。

示例

下面的代码示例使用 PasswordDeriveBytes 类从密码创建密钥。

using System;
using System.Security.Cryptography;
using System.Text;

public class PasswordDerivedBytesExample
{

    public static void Main(String[] args)
    {

        // Get a password from the user.
        Console.WriteLine("Enter a password to produce a key:");

        byte[] pwd = Encoding.Unicode.GetBytes(Console.ReadLine());

        byte[] salt = CreateRandomSalt(7);

        // Create a TripleDESCryptoServiceProvider object.
        TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();

        try
        {
            Console.WriteLine("Creating a key with PasswordDeriveBytes...");

            // Create a PasswordDeriveBytes object and then create
            // a TripleDES key from the password and salt.
            PasswordDeriveBytes pdb = new PasswordDeriveBytes(pwd, salt);


            // Create the key and set it to the Key property
            // of the TripleDESCryptoServiceProvider object.
            // This example uses the SHA1 algorithm.
            // Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
            tdes.Key = pdb.CryptDeriveKey("TripleDES", "SHA1", 192, tdes.IV);


            Console.WriteLine("Operation complete.");
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
        finally
        {
            // Clear the buffers
            ClearBytes(pwd);
            ClearBytes(salt);

            // Clear the key.
            tdes.Clear();
        }

        Console.ReadLine();
    }

    //////////////////////////////////////////////////////////
    // Helper methods:
    // CreateRandomSalt: Generates a random salt value of the
    //                   specified length.
    //
    // ClearBytes: Clear the bytes in a buffer so they can't
    //             later be read from memory.
    //////////////////////////////////////////////////////////

    public static byte[] CreateRandomSalt(int length)
    {
        // Create a buffer
        byte[] randBytes;

        if (length >= 1)
        {
            randBytes = new byte[length];
        }
        else
        {
            randBytes = new byte[1];
        }

        using (RandomNumberGenerator rng = RandomNumberGenerator.Create())
        {
            // Fill the buffer with random bytes.
            rng.GetBytes(randBytes);
        }

        // return the bytes.
        return randBytes;
    }

    public static void ClearBytes(byte[] buffer)
    {
        // Check arguments.
        if (buffer == null)
        {
            throw new ArgumentException("buffer");
        }

        // Set each byte in the buffer to 0.
        for (int x = 0; x < buffer.Length; x++)
        {
            buffer[x] = 0;
        }
    }
}
Imports System.Security.Cryptography
Imports System.Text



Module PasswordDerivedBytesExample


    Sub Main(ByVal args() As String)

        ' Get a password from the user.
        Console.WriteLine("Enter a password to produce a key:")

        Dim pwd As Byte() = Encoding.Unicode.GetBytes(Console.ReadLine())

        Dim salt As Byte() = CreateRandomSalt(7)

        ' Create a TripleDESCryptoServiceProvider object.
        Dim tdes As New TripleDESCryptoServiceProvider()

        Try
            Console.WriteLine("Creating a key with PasswordDeriveBytes...")

            ' Create a PasswordDeriveBytes object and then create 
            ' a TripleDES key from the password and salt.
            Dim pdb As New PasswordDeriveBytes(pwd, salt)


            ' Create the key and set it to the Key property
            ' of the TripleDESCryptoServiceProvider object.
            ' This example uses the SHA1 algorithm.
            ' Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
            tdes.Key = pdb.CryptDeriveKey("TripleDES", "SHA1", 192, tdes.IV)


            Console.WriteLine("Operation complete.")
        Catch e As Exception
            Console.WriteLine(e.Message)
        Finally
            ' Clear the buffers
            ClearBytes(pwd)
            ClearBytes(salt)

            ' Clear the key.
            tdes.Clear()
        End Try

        Console.ReadLine()

    End Sub


    '********************************************************
    '* Helper methods:
    '* createRandomSalt: Generates a random salt value of the 
    '*                   specified length.  
    '*
    '* clearBytes: Clear the bytes in a buffer so they can't 
    '*             later be read from memory.
    '********************************************************
    Function CreateRandomSalt(ByVal length As Integer) As Byte()
        ' Create a buffer
        Dim randBytes() As Byte

        If length >= 1 Then
            randBytes = New Byte(length) {}
        Else
            randBytes = New Byte(0) {}
        End If

        ' Create a new RandomNumberGenerator.
        Using rand As RandomNumberGenerator = RandomNumberGenerator.Create()
            ' Fill the buffer with random bytes.
            rand.GetBytes(randBytes)
        End Using

        ' return the bytes.
        Return randBytes

    End Function


    Sub ClearBytes(ByVal buffer() As Byte)
        ' Check arguments.
        If buffer Is Nothing Then
            Throw New ArgumentException("buffer")
        End If

        ' Set each byte in the buffer to 0.
        Dim x As Integer
        For x = 0 To buffer.Length - 1
            buffer(x) = 0
        Next x

    End Sub
End Module

注解

Important

从不对源代码中的密码进行硬编码。 可以使用 Ildasm.exe(IL 反汇编程序)、十六进制编辑器或直接在文本编辑器(如 Notepad.exe)中打开程序集,从程序集中检索硬编码的密码。

另请参阅

适用于

PasswordDeriveBytes(String, Byte[])

Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs

使用密码和密钥 salt 初始化类的新实例 PasswordDeriveBytes ,以派生密钥。

public:
 PasswordDeriveBytes(System::String ^ strPassword, cli::array <System::Byte> ^ rgbSalt);
public PasswordDeriveBytes(string strPassword, byte[]? rgbSalt);
public PasswordDeriveBytes(string strPassword, byte[] rgbSalt);
new System.Security.Cryptography.PasswordDeriveBytes : string * byte[] -> System.Security.Cryptography.PasswordDeriveBytes
Public Sub New (strPassword As String, rgbSalt As Byte())

参数

strPassword
String

要为其派生密钥的密码。

rgbSalt
Byte[]

要用于派生密钥的键盐。

注解

Important

从不对源代码中的密码进行硬编码。 硬编码的密码可以使用 Ildasm.exe(IL 反汇编程序) 工具、十六进制编辑器或直接在文本编辑器(如 notepad.exe)中打开程序集来检索硬编码的密码。

另请参阅

适用于

PasswordDeriveBytes(Byte[], Byte[], CspParameters)

Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs

初始化用于派生密钥的密码、密钥盐和加密服务提供商(CSP)类的新实例 PasswordDeriveBytes

public:
 PasswordDeriveBytes(cli::array <System::Byte> ^ password, cli::array <System::Byte> ^ salt, System::Security::Cryptography::CspParameters ^ cspParams);
public PasswordDeriveBytes(byte[] password, byte[]? salt, System.Security.Cryptography.CspParameters? cspParams);
public PasswordDeriveBytes(byte[] password, byte[] salt, System.Security.Cryptography.CspParameters cspParams);
new System.Security.Cryptography.PasswordDeriveBytes : byte[] * byte[] * System.Security.Cryptography.CspParameters -> System.Security.Cryptography.PasswordDeriveBytes
Public Sub New (password As Byte(), salt As Byte(), cspParams As CspParameters)

参数

password
Byte[]

要为其派生密钥的密码。

salt
Byte[]

要用于派生密钥的键盐。

cspParams
CspParameters

操作的加密服务提供程序 (CSP) 参数。

示例

下面的代码示例使用 PasswordDeriveBytes 类从密码创建密钥。

using System;
using System.Security.Cryptography;
using System.Text;

public class PasswordDerivedBytesExample
{

    public static void Main(String[] args)
    {

        // Get a password from the user.
        Console.WriteLine("Enter a password to produce a key:");

        byte[] pwd = Encoding.Unicode.GetBytes(Console.ReadLine());

        byte[] salt = CreateRandomSalt(7);

        // Create a TripleDESCryptoServiceProvider object.
        TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();

        try
        {
            Console.WriteLine("Creating a key with PasswordDeriveBytes...");

            // Create a PasswordDeriveBytes object and then create
            // a TripleDES key from the password and salt.
            PasswordDeriveBytes pdb = new PasswordDeriveBytes(pwd, salt);


            // Create the key and set it to the Key property
            // of the TripleDESCryptoServiceProvider object.
            // This example uses the SHA1 algorithm.
            // Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
            tdes.Key = pdb.CryptDeriveKey("TripleDES", "SHA1", 192, tdes.IV);


            Console.WriteLine("Operation complete.");
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
        finally
        {
            // Clear the buffers
            ClearBytes(pwd);
            ClearBytes(salt);

            // Clear the key.
            tdes.Clear();
        }

        Console.ReadLine();
    }

    //////////////////////////////////////////////////////////
    // Helper methods:
    // CreateRandomSalt: Generates a random salt value of the
    //                   specified length.
    //
    // ClearBytes: Clear the bytes in a buffer so they can't
    //             later be read from memory.
    //////////////////////////////////////////////////////////

    public static byte[] CreateRandomSalt(int length)
    {
        // Create a buffer
        byte[] randBytes;

        if (length >= 1)
        {
            randBytes = new byte[length];
        }
        else
        {
            randBytes = new byte[1];
        }

        using (RandomNumberGenerator rng = RandomNumberGenerator.Create())
        {
            // Fill the buffer with random bytes.
            rng.GetBytes(randBytes);
        }

        // return the bytes.
        return randBytes;
    }

    public static void ClearBytes(byte[] buffer)
    {
        // Check arguments.
        if (buffer == null)
        {
            throw new ArgumentException("buffer");
        }

        // Set each byte in the buffer to 0.
        for (int x = 0; x < buffer.Length; x++)
        {
            buffer[x] = 0;
        }
    }
}
Imports System.Security.Cryptography
Imports System.Text



Module PasswordDerivedBytesExample


    Sub Main(ByVal args() As String)

        ' Get a password from the user.
        Console.WriteLine("Enter a password to produce a key:")

        Dim pwd As Byte() = Encoding.Unicode.GetBytes(Console.ReadLine())

        Dim salt As Byte() = CreateRandomSalt(7)

        ' Create a TripleDESCryptoServiceProvider object.
        Dim tdes As New TripleDESCryptoServiceProvider()

        Try
            Console.WriteLine("Creating a key with PasswordDeriveBytes...")

            ' Create a PasswordDeriveBytes object and then create 
            ' a TripleDES key from the password and salt.
            Dim pdb As New PasswordDeriveBytes(pwd, salt)


            ' Create the key and set it to the Key property
            ' of the TripleDESCryptoServiceProvider object.
            ' This example uses the SHA1 algorithm.
            ' Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
            tdes.Key = pdb.CryptDeriveKey("TripleDES", "SHA1", 192, tdes.IV)


            Console.WriteLine("Operation complete.")
        Catch e As Exception
            Console.WriteLine(e.Message)
        Finally
            ' Clear the buffers
            ClearBytes(pwd)
            ClearBytes(salt)

            ' Clear the key.
            tdes.Clear()
        End Try

        Console.ReadLine()

    End Sub


    '********************************************************
    '* Helper methods:
    '* createRandomSalt: Generates a random salt value of the 
    '*                   specified length.  
    '*
    '* clearBytes: Clear the bytes in a buffer so they can't 
    '*             later be read from memory.
    '********************************************************
    Function CreateRandomSalt(ByVal length As Integer) As Byte()
        ' Create a buffer
        Dim randBytes() As Byte

        If length >= 1 Then
            randBytes = New Byte(length) {}
        Else
            randBytes = New Byte(0) {}
        End If

        ' Create a new RandomNumberGenerator.
        Using rand As RandomNumberGenerator = RandomNumberGenerator.Create()
            ' Fill the buffer with random bytes.
            rand.GetBytes(randBytes)
        End Using

        ' return the bytes.
        Return randBytes

    End Function


    Sub ClearBytes(ByVal buffer() As Byte)
        ' Check arguments.
        If buffer Is Nothing Then
            Throw New ArgumentException("buffer")
        End If

        ' Set each byte in the buffer to 0.
        Dim x As Integer
        For x = 0 To buffer.Length - 1
            buffer(x) = 0
        Next x

    End Sub
End Module

注解

Important

从不对源代码中的密码进行硬编码。 硬编码的密码可以使用 Ildasm.exe(IL 反汇编程序) l、十六进制编辑器从程序集中检索,或者只需在文本编辑器(如 Notepad.exe)中打开程序集即可。

另请参阅

适用于

PasswordDeriveBytes(String, Byte[], CspParameters)

Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs

使用密码、密钥盐和加密服务提供商 (CSP) 参数初始化类的新实例 PasswordDeriveBytes ,以派生密钥。

public:
 PasswordDeriveBytes(System::String ^ strPassword, cli::array <System::Byte> ^ rgbSalt, System::Security::Cryptography::CspParameters ^ cspParams);
public PasswordDeriveBytes(string strPassword, byte[]? rgbSalt, System.Security.Cryptography.CspParameters? cspParams);
public PasswordDeriveBytes(string strPassword, byte[] rgbSalt, System.Security.Cryptography.CspParameters cspParams);
new System.Security.Cryptography.PasswordDeriveBytes : string * byte[] * System.Security.Cryptography.CspParameters -> System.Security.Cryptography.PasswordDeriveBytes
Public Sub New (strPassword As String, rgbSalt As Byte(), cspParams As CspParameters)

参数

strPassword
String

要为其派生密钥的密码。

rgbSalt
Byte[]

要用于派生密钥的键盐。

cspParams
CspParameters

操作的 CSP 参数。

注解

Important

从不对源代码中的密码进行硬编码。 硬编码的密码可以使用 Ildasm.exe(IL 反汇编程序) 工具、十六进制编辑器或直接在文本编辑器(如 notepad.exe)中打开程序集来检索硬编码的密码。

另请参阅

适用于

PasswordDeriveBytes(Byte[], Byte[], String, Int32)

Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs

初始化用于派生密钥的密码、密钥盐、哈希名称和迭代的类的新实例 PasswordDeriveBytes

public:
 PasswordDeriveBytes(cli::array <System::Byte> ^ password, cli::array <System::Byte> ^ salt, System::String ^ hashName, int iterations);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The hash implementation might be removed. Ensure the referenced hash algorithm is not trimmed.")]
public PasswordDeriveBytes(byte[] password, byte[]? salt, string hashName, int iterations);
public PasswordDeriveBytes(byte[] password, byte[]? salt, string hashName, int iterations);
public PasswordDeriveBytes(byte[] password, byte[] salt, string hashName, int iterations);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The hash implementation might be removed. Ensure the referenced hash algorithm is not trimmed.")>]
new System.Security.Cryptography.PasswordDeriveBytes : byte[] * byte[] * string * int -> System.Security.Cryptography.PasswordDeriveBytes
new System.Security.Cryptography.PasswordDeriveBytes : byte[] * byte[] * string * int -> System.Security.Cryptography.PasswordDeriveBytes
Public Sub New (password As Byte(), salt As Byte(), hashName As String, iterations As Integer)

参数

password
Byte[]

要为其派生密钥的密码。

salt
Byte[]

要用于派生密钥的键盐。

hashName
String

用于派生密钥的哈希算法。

iterations
Int32

用于派生密钥的迭代计数。

属性

注解

Important

从不对源代码中的密码进行硬编码。 可以使用 Ildasm.exe(IL 反汇编程序)、十六进制编辑器或直接在文本编辑器(如 Notepad.exe)中打开程序集,从程序集中检索硬编码的密码。

有关哈希算法名称的列表,请参阅该 CryptoConfig 类。

另请参阅

适用于

PasswordDeriveBytes(String, Byte[], String, Int32)

Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs

使用密码、密钥盐、哈希名称和用于派生密钥的迭代次数初始化类的新实例 PasswordDeriveBytes

public:
 PasswordDeriveBytes(System::String ^ strPassword, cli::array <System::Byte> ^ rgbSalt, System::String ^ strHashName, int iterations);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The hash implementation might be removed. Ensure the referenced hash algorithm is not trimmed.")]
public PasswordDeriveBytes(string strPassword, byte[]? rgbSalt, string strHashName, int iterations);
public PasswordDeriveBytes(string strPassword, byte[]? rgbSalt, string strHashName, int iterations);
public PasswordDeriveBytes(string strPassword, byte[] rgbSalt, string strHashName, int iterations);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The hash implementation might be removed. Ensure the referenced hash algorithm is not trimmed.")>]
new System.Security.Cryptography.PasswordDeriveBytes : string * byte[] * string * int -> System.Security.Cryptography.PasswordDeriveBytes
new System.Security.Cryptography.PasswordDeriveBytes : string * byte[] * string * int -> System.Security.Cryptography.PasswordDeriveBytes
Public Sub New (strPassword As String, rgbSalt As Byte(), strHashName As String, iterations As Integer)

参数

strPassword
String

要为其派生密钥的密码。

rgbSalt
Byte[]

要用于派生密钥的键盐。

strHashName
String

操作的哈希算法的名称。

iterations
Int32

操作的迭代数。

属性

注解

Important

从不对源代码中的密码进行硬编码。 硬编码的密码可以使用 Ildasm.exe(IL 反汇编程序) 工具、十六进制编辑器或直接在文本编辑器(如 notepad.exe)中打开程序集来检索硬编码的密码。

有关哈希算法名称的列表,请参阅该 CryptoConfig 类。

另请参阅

适用于

PasswordDeriveBytes(Byte[], Byte[], String, Int32, CspParameters)

Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs

初始化类的新实例 PasswordDeriveBytes ,指定用于派生密钥的密码、密钥盐、哈希名称、迭代和加密服务提供程序(CSP)。

public:
 PasswordDeriveBytes(cli::array <System::Byte> ^ password, cli::array <System::Byte> ^ salt, System::String ^ hashName, int iterations, System::Security::Cryptography::CspParameters ^ cspParams);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The hash implementation might be removed. Ensure the referenced hash algorithm is not trimmed.")]
public PasswordDeriveBytes(byte[] password, byte[]? salt, string hashName, int iterations, System.Security.Cryptography.CspParameters? cspParams);
public PasswordDeriveBytes(byte[] password, byte[]? salt, string hashName, int iterations, System.Security.Cryptography.CspParameters? cspParams);
public PasswordDeriveBytes(byte[] password, byte[] salt, string hashName, int iterations, System.Security.Cryptography.CspParameters cspParams);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The hash implementation might be removed. Ensure the referenced hash algorithm is not trimmed.")>]
new System.Security.Cryptography.PasswordDeriveBytes : byte[] * byte[] * string * int * System.Security.Cryptography.CspParameters -> System.Security.Cryptography.PasswordDeriveBytes
new System.Security.Cryptography.PasswordDeriveBytes : byte[] * byte[] * string * int * System.Security.Cryptography.CspParameters -> System.Security.Cryptography.PasswordDeriveBytes
Public Sub New (password As Byte(), salt As Byte(), hashName As String, iterations As Integer, cspParams As CspParameters)

参数

password
Byte[]

要为其派生密钥的密码。

salt
Byte[]

要用于派生密钥的键盐。

hashName
String

用于派生密钥的哈希算法。

iterations
Int32

用于派生密钥的迭代计数。

cspParams
CspParameters

操作的加密服务提供程序 (CSP) 参数。

属性

注解

Important

从不对源代码中的密码进行硬编码。 可以使用 Ildasm.exe(IL 反汇编程序)、十六进制编辑器或直接在文本编辑器(如 Notepad.exe)中打开程序集,从程序集中检索硬编码的密码。

有关哈希算法名称的列表,请参阅该 CryptoConfig 类。

另请参阅

适用于

PasswordDeriveBytes(String, Byte[], String, Int32, CspParameters)

Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs
Source:
PasswordDeriveBytes.cs

使用密码、密钥盐、哈希名称、迭代次数和加密服务提供程序 (CSP) 参数初始化类的新实例 PasswordDeriveBytes ,以派生密钥。

public:
 PasswordDeriveBytes(System::String ^ strPassword, cli::array <System::Byte> ^ rgbSalt, System::String ^ strHashName, int iterations, System::Security::Cryptography::CspParameters ^ cspParams);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The hash implementation might be removed. Ensure the referenced hash algorithm is not trimmed.")]
public PasswordDeriveBytes(string strPassword, byte[]? rgbSalt, string strHashName, int iterations, System.Security.Cryptography.CspParameters? cspParams);
public PasswordDeriveBytes(string strPassword, byte[]? rgbSalt, string strHashName, int iterations, System.Security.Cryptography.CspParameters? cspParams);
public PasswordDeriveBytes(string strPassword, byte[] rgbSalt, string strHashName, int iterations, System.Security.Cryptography.CspParameters cspParams);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The hash implementation might be removed. Ensure the referenced hash algorithm is not trimmed.")>]
new System.Security.Cryptography.PasswordDeriveBytes : string * byte[] * string * int * System.Security.Cryptography.CspParameters -> System.Security.Cryptography.PasswordDeriveBytes
new System.Security.Cryptography.PasswordDeriveBytes : string * byte[] * string * int * System.Security.Cryptography.CspParameters -> System.Security.Cryptography.PasswordDeriveBytes
Public Sub New (strPassword As String, rgbSalt As Byte(), strHashName As String, iterations As Integer, cspParams As CspParameters)

参数

strPassword
String

要为其派生密钥的密码。

rgbSalt
Byte[]

要用于派生密钥的键盐。

strHashName
String

操作的哈希算法的名称。

iterations
Int32

操作的迭代数。

cspParams
CspParameters

操作的 CSP 参数。

属性

注解

Important

从不对源代码中的密码进行硬编码。 硬编码的密码可以使用 Ildasm.exe(IL 反汇编程序) 工具、十六进制编辑器或直接在文本编辑器(如 notepad.exe)中打开程序集来检索硬编码的密码。

有关哈希算法名称的列表,请参阅该 CryptoConfig 类。

另请参阅

适用于