public byte[] DecryptKeyStoreFromJson(string password, string json) { if (password == null) { throw new ArgumentNullException(nameof(password)); } if (json == null) { throw new ArgumentNullException(nameof(json)); } var type = _keyStoreKdfChecker.GetKeyStoreKdfType(json); if (type == KeyStoreKdfChecker.KdfType.pbkdf2) { return(_keyStorePbkdf2Service.DecryptKeyStoreFromJson(password, json)); } if (type == KeyStoreKdfChecker.KdfType.scrypt) { return(_keyStoreScryptService.DecryptKeyStoreFromJson(password, json)); } //shold not reach here, already handled by the checker throw new Exception("Invalid kdf type"); }