示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
 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));
 }
示例#4
0
 public ArgonPasswordHasher(IPasswordHasher <TUser> previous    = null,
                            PasswordHash.StrengthArgon strength = PasswordHash.StrengthArgon.Moderate)
 {
     _previous = previous;
     _strength = strength;
 }