Unity Editor上的Nethereum.KeyStore.KeyStoreService.DecryptKeyStoreFromJson似乎太慢

时间:2018-03-22 22:56:08

标签: c# unity3d solidity

我们大致如下进行密钥加密/解密。

密钥创建和加密为密钥库

var key = Nethereum.Signer.EthECKey.GenerateKey();
var service = new Nethereum.KeyStore.KeyStoreService();
var keyStore = service.EncryptAndGenerateDefaultKeyStoreAsJson(
            password, key.GetPrivateKeyAsBytes(), key.GetPublicAddress());

从密钥库恢复密钥以创建EthECKey

var service = new Nethereum.KeyStore.KeyStoreService();
key = new Nethereum.Signer.EthECKey(
        service.DecryptKeyStoreFromJson(password, keyStore), 
        true);

密钥加密似乎也需要很长时间,但我认为这很好,因为通常这只是第一次。

问题是来自密钥库的密钥恢复(在应用程序启动时总是需要)在我的机器上的UnityEditor(2017.3.1)上花费超过10秒(macbook pro pro 2015,16GB ram和2.6 GHz Intel Core i7,High Sierra),这会伤害用户体验。

如果我只是存储key.GetPrivateKey()并执行new Nethereum.Signer.EthECKey(privateKey)来恢复密钥,它会立即完成,所以我猜这是由于解密速度慢造成的。

所以问题是:

  1. 这个(> 10秒)是我环境的正常解密速度?
  2. 如果1.是正确的,有什么建议加快? (也许是几秒钟的限制)
  3. 如果1.不正确,任何关于我失踪的想法?

0 个答案:

没有答案