示例#1
0
        public string HashPassword(string password)
        {
            if (string.IsNullOrEmpty(password))
            {
                throw new ArgumentNullException(password);
            }

            byte[]       salt         = new byte[32];
            Argon2Config argon2Config = _argon2Config;

            argon2Config.Password = Encoding.UTF8.GetBytes(password);
            argon2Config.Salt     = salt;

            _randomNumberGenerator.GetBytes(salt);
            var argon2 = new Argon2(argon2Config);

            using SecureArray <byte> secureArray = argon2.Hash();
            argon2.Dispose();

            return(argon2Config.EncodeString(secureArray.Buffer));
        }