public PasswordHash(string hash)
        {
            if (hash == null)
            {
                throw new ArgumentNullException(nameof(hash));
            }

            var info = new PasswordHashInfo(BCrypt.Net.BCrypt.InterrogateHash(hash));

            new PasswordHash(hash, info);
        }
        public static PasswordHash FromPassword(string password)
        {
            if (password == null)
            {
                throw new ArgumentNullException(nameof(password));
            }

            var hash = BCrypt.Net.BCrypt.HashPassword(password);
            var info = new PasswordHashInfo(BCrypt.Net.BCrypt.InterrogateHash(hash));

            return(new PasswordHash(hash, info));
        }
 private PasswordHash(string hash, PasswordHashInfo info)
 {
     Value = hash;
     Info  = info;
 }