protected override IReadOnlyDictionary GetHashConfiguration()

in FirebaseAdmin/FirebaseAdmin/Auth/Hash/Scrypt.cs [67:102]


        protected override IReadOnlyDictionary<string, object> GetHashConfiguration()
        {
            if (this.Key == null || this.Key.Length == 0)
            {
                throw new ArgumentException("key must not be null or empty");
            }

            if (this.SaltSeparator == null)
            {
                this.SaltSeparator = new byte[0];
            }

            if (this.MemoryCost == null)
            {
                throw new ArgumentNullException("memory cost must be set");
            }

            if (this.MemoryCost < 1 || this.MemoryCost > 14)
            {
                throw new ArgumentException("memory cost must be between 1 and 14 (inclusive)");
            }

            var dict = new Dictionary<string, object>()
            {
                { "signerKey", this.Key },
                { "memoryCost", (int)this.MemoryCost },
                { "saltSeparator", this.SaltSeparator },
            };

            foreach (var entry in base.GetHashConfiguration())
            {
                dict[entry.Key] = entry.Value;
            }

            return dict;
        }