292 lines
14 KiB
C#
292 lines
14 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace System.Security.Cryptography
|
|
{
|
|
/// <summary>Derives a key from a password using an extension of the PBKDF1 algorithm.</summary>
|
|
// Token: 0x020003F7 RID: 1015
|
|
[Token(Token = "0x20003F7")]
|
|
[ComVisible(true)]
|
|
public class PasswordDeriveBytes : DeriveBytes
|
|
{
|
|
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class with the password and key salt to use to derive the key.</summary>
|
|
/// <param name="strPassword">The password for which to derive the key.</param>
|
|
/// <param name="rgbSalt">The key salt to use to derive the key.</param>
|
|
// Token: 0x06002208 RID: 8712 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002208")]
|
|
[Address(RVA = "0x2DAE810", Offset = "0x2DAD610", VA = "0x182DAE810")]
|
|
public PasswordDeriveBytes(string strPassword, byte[] rgbSalt)
|
|
{
|
|
}
|
|
|
|
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class specifying the password and key salt to use to derive the key.</summary>
|
|
/// <param name="password">The password to derive the key for.</param>
|
|
/// <param name="salt">The key salt to use to derive the key.</param>
|
|
// Token: 0x06002209 RID: 8713 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002209")]
|
|
[Address(RVA = "0x2DAE090", Offset = "0x2DACE90", VA = "0x182DAE090")]
|
|
public PasswordDeriveBytes(byte[] password, byte[] salt)
|
|
{
|
|
}
|
|
|
|
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class with the password, key salt, hash name, and number of iterations to use to derive the key.</summary>
|
|
/// <param name="strPassword">The password for which to derive the key.</param>
|
|
/// <param name="rgbSalt">The key salt to use to derive the key.</param>
|
|
/// <param name="strHashName">The name of the hash algorithm for the operation.</param>
|
|
/// <param name="iterations">The number of iterations for the operation.</param>
|
|
// Token: 0x0600220A RID: 8714 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600220A")]
|
|
[Address(RVA = "0x2DAE2B0", Offset = "0x2DAD0B0", VA = "0x182DAE2B0")]
|
|
public PasswordDeriveBytes(string strPassword, byte[] rgbSalt, string strHashName, int iterations)
|
|
{
|
|
}
|
|
|
|
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class specifying the password, key salt, hash name, and iterations to use to derive the key.</summary>
|
|
/// <param name="password">The password to derive the key for.</param>
|
|
/// <param name="salt">The key salt to use to derive the key.</param>
|
|
/// <param name="hashName">The hash algorithm to use to derive the key.</param>
|
|
/// <param name="iterations">The iteration count to use to derive the key.</param>
|
|
// Token: 0x0600220B RID: 8715 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600220B")]
|
|
[Address(RVA = "0x2DAE400", Offset = "0x2DAD200", VA = "0x182DAE400")]
|
|
public PasswordDeriveBytes(byte[] password, byte[] salt, string hashName, int iterations)
|
|
{
|
|
}
|
|
|
|
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class with the password, key salt, and cryptographic service provider (CSP) parameters to use to derive the key.</summary>
|
|
/// <param name="strPassword">The password for which to derive the key.</param>
|
|
/// <param name="rgbSalt">The key salt to use to derive the key.</param>
|
|
/// <param name="cspParams">The CSP parameters for the operation.</param>
|
|
// Token: 0x0600220C RID: 8716 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600220C")]
|
|
[Address(RVA = "0x2DAE230", Offset = "0x2DAD030", VA = "0x182DAE230")]
|
|
public PasswordDeriveBytes(string strPassword, byte[] rgbSalt, CspParameters cspParams)
|
|
{
|
|
}
|
|
|
|
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class specifying the password, key salt, and cryptographic service provider (CSP) to use to derive the key.</summary>
|
|
/// <param name="password">The password to derive the key for.</param>
|
|
/// <param name="salt">The key salt to use to derive the key.</param>
|
|
/// <param name="cspParams">The cryptographic service provider (CSP) parameters for the operation.</param>
|
|
// Token: 0x0600220D RID: 8717 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600220D")]
|
|
[Address(RVA = "0x2DAE380", Offset = "0x2DAD180", VA = "0x182DAE380")]
|
|
public PasswordDeriveBytes(byte[] password, byte[] salt, CspParameters cspParams)
|
|
{
|
|
}
|
|
|
|
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class with the password, key salt, hash name, number of iterations, and cryptographic service provider (CSP) parameters to use to derive the key.</summary>
|
|
/// <param name="strPassword">The password for which to derive the key.</param>
|
|
/// <param name="rgbSalt">The key salt to use to derive the key.</param>
|
|
/// <param name="strHashName">The name of the hash algorithm for the operation.</param>
|
|
/// <param name="iterations">The number of iterations for the operation.</param>
|
|
/// <param name="cspParams">The CSP parameters for the operation.</param>
|
|
// Token: 0x0600220E RID: 8718 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600220E")]
|
|
[Address(RVA = "0x2DAE170", Offset = "0x2DACF70", VA = "0x182DAE170")]
|
|
public PasswordDeriveBytes(string strPassword, byte[] rgbSalt, string strHashName, int iterations, CspParameters cspParams)
|
|
{
|
|
}
|
|
|
|
/// <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class specifying the password, key salt, hash name, iterations, and cryptographic service provider (CSP) to use to derive the key.</summary>
|
|
/// <param name="password">The password to derive the key for.</param>
|
|
/// <param name="salt">The key salt to use to derive the key.</param>
|
|
/// <param name="hashName">The hash algorithm to use to derive the key.</param>
|
|
/// <param name="iterations">The iteration count to use to derive the key.</param>
|
|
/// <param name="cspParams">The cryptographic service provider (CSP) parameters for the operation.</param>
|
|
// Token: 0x0600220F RID: 8719 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600220F")]
|
|
[Address(RVA = "0x2DAE4D0", Offset = "0x2DAD2D0", VA = "0x182DAE4D0")]
|
|
public PasswordDeriveBytes(byte[] password, byte[] salt, string hashName, int iterations, CspParameters cspParams)
|
|
{
|
|
}
|
|
|
|
/// <summary>Gets or sets the name of the hash algorithm for the operation.</summary>
|
|
/// <returns>The name of the hash algorithm for the operation.</returns>
|
|
/// <exception cref="T:System.Security.Cryptography.CryptographicException">The name of the hash value is fixed and an attempt is made to change this value.</exception>
|
|
// Token: 0x170004B0 RID: 1200
|
|
// (get) Token: 0x06002210 RID: 8720 RVA: 0x00002082 File Offset: 0x00000282
|
|
// (set) Token: 0x06002211 RID: 8721 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x170004B0")]
|
|
public string HashName
|
|
{
|
|
[Token(Token = "0x6002210")]
|
|
[Address(RVA = "0x3F63D0", Offset = "0x3F51D0", VA = "0x1803F63D0")]
|
|
get
|
|
{
|
|
return null;
|
|
}
|
|
[Token(Token = "0x6002211")]
|
|
[Address(RVA = "0x2DAE970", Offset = "0x2DAD770", VA = "0x182DAE970")]
|
|
set
|
|
{
|
|
}
|
|
}
|
|
|
|
/// <summary>Gets or sets the number of iterations for the operation.</summary>
|
|
/// <returns>The number of iterations for the operation.</returns>
|
|
/// <exception cref="T:System.Security.Cryptography.CryptographicException">The number of iterations is fixed and an attempt is made to change this value.</exception>
|
|
/// <exception cref="T:System.ArgumentOutOfRangeException">The property cannot be set because its value is out of range. This property requires a non-negative number.</exception>
|
|
// Token: 0x170004B1 RID: 1201
|
|
// (get) Token: 0x06002212 RID: 8722 RVA: 0x00014B68 File Offset: 0x00012D68
|
|
// (set) Token: 0x06002213 RID: 8723 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x170004B1")]
|
|
public int IterationCount
|
|
{
|
|
[Token(Token = "0x6002212")]
|
|
[Address(RVA = "0x40B720", Offset = "0x40A520", VA = "0x18040B720")]
|
|
get
|
|
{
|
|
return 0;
|
|
}
|
|
[Token(Token = "0x6002213")]
|
|
[Address(RVA = "0x2DAEAA0", Offset = "0x2DAD8A0", VA = "0x182DAEAA0")]
|
|
set
|
|
{
|
|
}
|
|
}
|
|
|
|
/// <summary>Gets or sets the key salt value for the operation.</summary>
|
|
/// <returns>The key salt value for the operation.</returns>
|
|
/// <exception cref="T:System.Security.Cryptography.CryptographicException">The key salt value is fixed and an attempt is made to change this value.</exception>
|
|
// Token: 0x170004B2 RID: 1202
|
|
// (get) Token: 0x06002214 RID: 8724 RVA: 0x00002082 File Offset: 0x00000282
|
|
// (set) Token: 0x06002215 RID: 8725 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x170004B2")]
|
|
public byte[] Salt
|
|
{
|
|
[Token(Token = "0x6002214")]
|
|
[Address(RVA = "0x2DAE8F0", Offset = "0x2DAD6F0", VA = "0x182DAE8F0")]
|
|
get
|
|
{
|
|
return null;
|
|
}
|
|
[Token(Token = "0x6002215")]
|
|
[Address(RVA = "0x2DAEBB0", Offset = "0x2DAD9B0", VA = "0x182DAEBB0")]
|
|
set
|
|
{
|
|
}
|
|
}
|
|
|
|
/// <summary>Returns pseudo-random key bytes.</summary>
|
|
/// <param name="cb">The number of pseudo-random key bytes to generate.</param>
|
|
/// <returns>A byte array filled with pseudo-random key bytes.</returns>
|
|
// Token: 0x06002216 RID: 8726 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6002216")]
|
|
[Address(RVA = "0x2DADD20", Offset = "0x2DACB20", VA = "0x182DADD20", Slot = "5")]
|
|
[Obsolete]
|
|
public override byte[] GetBytes(int cb)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Resets the state of the operation.</summary>
|
|
// Token: 0x06002217 RID: 8727 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002217")]
|
|
[Address(RVA = "0x2DAE080", Offset = "0x2DACE80", VA = "0x182DAE080", Slot = "6")]
|
|
public override void Reset()
|
|
{
|
|
}
|
|
|
|
/// <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class and optionally releases the managed resources.</summary>
|
|
/// <param name="disposing">
|
|
/// <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
|
|
// Token: 0x06002218 RID: 8728 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002218")]
|
|
[Address(RVA = "0x2DADC40", Offset = "0x2DACA40", VA = "0x182DADC40", Slot = "7")]
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
}
|
|
|
|
/// <summary>Derives a cryptographic key from the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> object.</summary>
|
|
/// <param name="algname">The algorithm name for which to derive the key.</param>
|
|
/// <param name="alghashname">The hash algorithm name to use to derive the key.</param>
|
|
/// <param name="keySize">The size of the key, in bits, to derive.</param>
|
|
/// <param name="rgbIV">The initialization vector (IV) to use to derive the key.</param>
|
|
/// <returns>The derived key.</returns>
|
|
/// <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="keySize" /> parameter is incorrect.
|
|
/// -or-
|
|
/// The cryptographic service provider (CSP) cannot be acquired.
|
|
/// -or-
|
|
/// The <paramref name="algname" /> parameter is not a valid algorithm name.
|
|
/// -or-
|
|
/// The <paramref name="alghashname" /> parameter is not a valid hash algorithm name.</exception>
|
|
// Token: 0x06002219 RID: 8729 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6002219")]
|
|
[Address(RVA = "0x2DADBA0", Offset = "0x2DAC9A0", VA = "0x182DADBA0")]
|
|
public byte[] CryptDeriveKey(string algname, string alghashname, int keySize, byte[] rgbIV)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x0600221A RID: 8730 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x600221A")]
|
|
[Address(RVA = "0x2DAD590", Offset = "0x2DAC390", VA = "0x182DAD590")]
|
|
private byte[] ComputeBaseValue()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x0600221B RID: 8731 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x600221B")]
|
|
[Address(RVA = "0x2DAD740", Offset = "0x2DAC540", VA = "0x182DAD740")]
|
|
private byte[] ComputeBytes(int cb)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x0600221C RID: 8732 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600221C")]
|
|
[Address(RVA = "0x2DADE90", Offset = "0x2DACC90", VA = "0x182DADE90")]
|
|
private void HashPrefix(CryptoStream cs)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400136E RID: 4974
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400136E")]
|
|
private int _extraCount;
|
|
|
|
// Token: 0x0400136F RID: 4975
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x400136F")]
|
|
private int _prefix;
|
|
|
|
// Token: 0x04001370 RID: 4976
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4001370")]
|
|
private int _iterations;
|
|
|
|
// Token: 0x04001371 RID: 4977
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4001371")]
|
|
private byte[] _baseValue;
|
|
|
|
// Token: 0x04001372 RID: 4978
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4001372")]
|
|
private byte[] _extra;
|
|
|
|
// Token: 0x04001373 RID: 4979
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4001373")]
|
|
private byte[] _salt;
|
|
|
|
// Token: 0x04001374 RID: 4980
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4001374")]
|
|
private string _hashName;
|
|
|
|
// Token: 0x04001375 RID: 4981
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4001375")]
|
|
private byte[] _password;
|
|
|
|
// Token: 0x04001376 RID: 4982
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4001376")]
|
|
private HashAlgorithm _hash;
|
|
}
|
|
}
|