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)); }
public static KeyPair ToKeyPair(Bitmap qrCodeImage, string passPhrase, bool disposeImage = true) { EncryptedKeyStore encryptedKeyStore = BitmapToKeyStore(qrCodeImage); if (disposeImage) { qrCodeImage.Dispose(); } return(DecryptKeyStoreSeed(encryptedKeyStore, passPhrase)); }
public static Bitmap ToQrCode(KeyPair keyPair, string passPhrase) { EncryptedKeyStore encryptedKeyStore = ToKeyStore(keyPair, passPhrase); return(KeyStoreToQrCode(JsonConvert.SerializeObject(encryptedKeyStore))); }