コード例 #1
0
 private static KeyPair DecryptKeyStoreSeed(EncryptedKeyStore keyStore, string passPhrase)
 {
     byte[] passPhraseBytes = Encoding.UTF8.GetBytes(passPhrase);
     byte[] saltBytes       = keyStore.EncryptionSalt.HexToBinary();
     byte[] keyHash         = Shared.KeyHash(passPhraseBytes, saltBytes);
     byte[] seedBytes       = keyStore.EncryptedSeed.HexToBinary();
     byte[] decryptedBytes  = DecryptSecretSeed(seedBytes, keyHash);
     return(KeyPair.FromSecretSeed(decryptedBytes));
 }
コード例 #2
0
        public static KeyPair ToKeyPair(Bitmap qrCodeImage, string passPhrase, bool disposeImage = true)
        {
            EncryptedKeyStore encryptedKeyStore = BitmapToKeyStore(qrCodeImage);

            if (disposeImage)
            {
                qrCodeImage.Dispose();
            }

            return(DecryptKeyStoreSeed(encryptedKeyStore, passPhrase));
        }
コード例 #3
0
        public static Bitmap ToQrCode(KeyPair keyPair, string passPhrase)
        {
            EncryptedKeyStore encryptedKeyStore = ToKeyStore(keyPair, passPhrase);

            return(KeyStoreToQrCode(JsonConvert.SerializeObject(encryptedKeyStore)));
        }