コード例 #1
0
        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");
        }