Я пытаюсь использовать заостренный замок для генерации пары открытого и закрытого ключей, используя кривую secp256k1.Я думаю, что я успешно создал AsymmetricKeyPair, состоящую из ECPrivateKey и ECPublicKey, но я не могу получить их соответствующие шестнадцатеричные строки (что-то вроде этого:
private: ee792658c8eb1f8c3d2010ee6bc2ea328bb584fc * bb887 1006bfb9)* общественность:. 041b3f87beb2559aa3ca1c1d9ebb9447e4842d21cf0c70db103acc0db27ea8c27536fc2b1405b8a16a460ca089b01de8c556825927b4890b7236e357787f3e6d54)
1010 * Когда я пытаюсь напечатать ключи, все я получаю «Экземпляр„ECPrivateKey“» и «инстанция" ECPublicKey»использую ли я .ToString() или нет.
Я всюду искал способ сделать это, но не могу найти, возможно ли это?
Вот мой код:
SecureRandom secureRandom = new SecureRandom("Fortuna");
var random = new Random.secure();
List<int> seeds = [];
for (int i = 0; i < 32; i++) {
seeds.add(random.nextInt(255));
}
secureRandom.seed(new KeyParameter(new Uint8List.fromList(seeds)));
var domainParams = new ECDomainParameters("secp256k1");
var ecParams = new ECKeyGeneratorParameters(domainParams);
var params = new ParametersWithRandom<ECKeyGeneratorParameters>(
ecParams, secureRandom);
var keyGenerator = new ECKeyGenerator();
keyGenerator.init(params);
AsymmetricKeyPair keypair = keyGenerator.generateKeyPair();
ECPrivateKey privateKey = keypair.privateKey;
ECPublicKey publicKey = keypair.publicKey;
print(privateKey);
print(privateKey.toString());
print(publicKey);
print(publicKey.toString());