public static string ArgonHashString(string password, PasswordHash.StrengthArgon limit = PasswordHash.StrengthArgon.Interactive) { long opsLimit; int memLimit; switch (limit) { case PasswordHash.StrengthArgon.Interactive: opsLimit = 4L; memLimit = 33554432; break; case PasswordHash.StrengthArgon.Moderate: opsLimit = 6L; memLimit = 134217728; break; case PasswordHash.StrengthArgon.Sensitive: opsLimit = 8L; memLimit = 536870912; break; default: opsLimit = 4L; memLimit = 33554432; break; } return(PasswordHash.ArgonHashString(password, opsLimit, memLimit)); }
public static byte[] ArgonHashBinary(byte[] password, byte[] salt, PasswordHash.StrengthArgon limit = PasswordHash.StrengthArgon.Interactive, long outputLength = 16L) { long opsLimit; int memLimit; switch (limit) { case PasswordHash.StrengthArgon.Interactive: opsLimit = 4L; memLimit = 33554432; break; case PasswordHash.StrengthArgon.Moderate: opsLimit = 6L; memLimit = 134217728; break; case PasswordHash.StrengthArgon.Sensitive: opsLimit = 8L; memLimit = 536870912; break; default: opsLimit = 4L; memLimit = 33554432; break; } return(PasswordHash.ArgonHashBinary(password, salt, opsLimit, memLimit, outputLength)); }
public static byte[] ArgonHashBinary(string password, string salt, PasswordHash.StrengthArgon limit = PasswordHash.StrengthArgon.Interactive, long outputLength = 16L) { return(PasswordHash.ArgonHashBinary(Encoding.UTF8.GetBytes(password), Encoding.UTF8.GetBytes(salt), limit, outputLength)); }
public ArgonPasswordHasher(IPasswordHasher <TUser> previous = null, PasswordHash.StrengthArgon strength = PasswordHash.StrengthArgon.Moderate) { _previous = previous; _strength = strength; }