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: 0x02000413 RID: 1043
|
|
[Token(Token = "0x2000413")]
|
|
[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: 0x06002414 RID: 9236 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002414")]
|
|
[Address(RVA = "0xC104E0", Offset = "0xC0F4E0", VA = "0x180C104E0")]
|
|
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: 0x06002415 RID: 9237 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002415")]
|
|
[Address(RVA = "0xC0FD60", Offset = "0xC0ED60", VA = "0x180C0FD60")]
|
|
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: 0x06002416 RID: 9238 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002416")]
|
|
[Address(RVA = "0xC0FF80", Offset = "0xC0EF80", VA = "0x180C0FF80")]
|
|
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: 0x06002417 RID: 9239 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002417")]
|
|
[Address(RVA = "0xC100D0", Offset = "0xC0F0D0", VA = "0x180C100D0")]
|
|
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: 0x06002418 RID: 9240 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002418")]
|
|
[Address(RVA = "0xC0FF00", Offset = "0xC0EF00", VA = "0x180C0FF00")]
|
|
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: 0x06002419 RID: 9241 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002419")]
|
|
[Address(RVA = "0xC10050", Offset = "0xC0F050", VA = "0x180C10050")]
|
|
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: 0x0600241A RID: 9242 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600241A")]
|
|
[Address(RVA = "0xC0FE40", Offset = "0xC0EE40", VA = "0x180C0FE40")]
|
|
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: 0x0600241B RID: 9243 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x600241B")]
|
|
[Address(RVA = "0xC101A0", Offset = "0xC0F1A0", VA = "0x180C101A0")]
|
|
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: 0x17000527 RID: 1319
|
|
// (get) Token: 0x0600241C RID: 9244 RVA: 0x00002082 File Offset: 0x00000282
|
|
// (set) Token: 0x0600241D RID: 9245 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x17000527")]
|
|
public string HashName
|
|
{
|
|
[Token(Token = "0x600241C")]
|
|
[Address(RVA = "0x41CEF0", Offset = "0x41BEF0", VA = "0x18041CEF0")]
|
|
get
|
|
{
|
|
return null;
|
|
}
|
|
[Token(Token = "0x600241D")]
|
|
[Address(RVA = "0xC10640", Offset = "0xC0F640", VA = "0x180C10640")]
|
|
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: 0x17000528 RID: 1320
|
|
// (get) Token: 0x0600241E RID: 9246 RVA: 0x00016F38 File Offset: 0x00015138
|
|
// (set) Token: 0x0600241F RID: 9247 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x17000528")]
|
|
public int IterationCount
|
|
{
|
|
[Token(Token = "0x600241E")]
|
|
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540")]
|
|
get
|
|
{
|
|
return 0;
|
|
}
|
|
[Token(Token = "0x600241F")]
|
|
[Address(RVA = "0xC10780", Offset = "0xC0F780", VA = "0x180C10780")]
|
|
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: 0x17000529 RID: 1321
|
|
// (get) Token: 0x06002420 RID: 9248 RVA: 0x00002082 File Offset: 0x00000282
|
|
// (set) Token: 0x06002421 RID: 9249 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x17000529")]
|
|
public byte[] Salt
|
|
{
|
|
[Token(Token = "0x6002420")]
|
|
[Address(RVA = "0xC105C0", Offset = "0xC0F5C0", VA = "0x180C105C0")]
|
|
get
|
|
{
|
|
return null;
|
|
}
|
|
[Token(Token = "0x6002421")]
|
|
[Address(RVA = "0xC10890", Offset = "0xC0F890", VA = "0x180C10890")]
|
|
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: 0x06002422 RID: 9250 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6002422")]
|
|
[Address(RVA = "0xC0F9F0", Offset = "0xC0E9F0", VA = "0x180C0F9F0", Slot = "5")]
|
|
[Obsolete]
|
|
public override byte[] GetBytes(int cb)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
/// <summary>Resets the state of the operation.</summary>
|
|
// Token: 0x06002423 RID: 9251 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002423")]
|
|
[Address(RVA = "0xC0FD50", Offset = "0xC0ED50", VA = "0x180C0FD50", 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: 0x06002424 RID: 9252 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002424")]
|
|
[Address(RVA = "0xC0F910", Offset = "0xC0E910", VA = "0x180C0F910", 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: 0x06002425 RID: 9253 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6002425")]
|
|
[Address(RVA = "0xC0F870", Offset = "0xC0E870", VA = "0x180C0F870")]
|
|
public byte[] CryptDeriveKey(string algname, string alghashname, int keySize, byte[] rgbIV)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x06002426 RID: 9254 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6002426")]
|
|
[Address(RVA = "0xC0F260", Offset = "0xC0E260", VA = "0x180C0F260")]
|
|
private byte[] ComputeBaseValue()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x06002427 RID: 9255 RVA: 0x00002082 File Offset: 0x00000282
|
|
[Token(Token = "0x6002427")]
|
|
[Address(RVA = "0xC0F410", Offset = "0xC0E410", VA = "0x180C0F410")]
|
|
private byte[] ComputeBytes(int cb)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x06002428 RID: 9256 RVA: 0x00002050 File Offset: 0x00000250
|
|
[Token(Token = "0x6002428")]
|
|
[Address(RVA = "0xC0FB60", Offset = "0xC0EB60", VA = "0x180C0FB60")]
|
|
private void HashPrefix(CryptoStream cs)
|
|
{
|
|
}
|
|
|
|
// Token: 0x04001431 RID: 5169
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4001431")]
|
|
private int _extraCount;
|
|
|
|
// Token: 0x04001432 RID: 5170
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x4001432")]
|
|
private int _prefix;
|
|
|
|
// Token: 0x04001433 RID: 5171
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4001433")]
|
|
private int _iterations;
|
|
|
|
// Token: 0x04001434 RID: 5172
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4001434")]
|
|
private byte[] _baseValue;
|
|
|
|
// Token: 0x04001435 RID: 5173
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4001435")]
|
|
private byte[] _extra;
|
|
|
|
// Token: 0x04001436 RID: 5174
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4001436")]
|
|
private byte[] _salt;
|
|
|
|
// Token: 0x04001437 RID: 5175
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4001437")]
|
|
private string _hashName;
|
|
|
|
// Token: 0x04001438 RID: 5176
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4001438")]
|
|
private byte[] _password;
|
|
|
|
// Token: 0x04001439 RID: 5177
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4001439")]
|
|
private HashAlgorithm _hash;
|
|
}
|
|
}
|