Как сгенерировать приватный ключ ETH?
Приватный ключ Эфира это просто набор определенных символов длинной 64 символа или есть какая то закономерность? Есть да , то как создать приватный ключ на c#?
Ответы (2 шт):
Автор решения: aepot
→ Ссылка
Этот ключ - всего-лишь последовательность из 32 случайных байт, записанных в шестнадцатеричном виде.
Random rnd = new Random();
string key = string.Concat(Enumerable.Range(0, 32)
.Select(_ => rnd.Next(0, 256).ToString("x2")));
Console.WriteLine(key);
a54caa9fe9057d4a42a75bd75ed1d5c44597c76d8b630324b4e38d821583511e
Ну или для параноиков есть такой вариант
byte[] bytes = new byte[32];
using (RNGCryptoServiceProvider rnd = new RNGCryptoServiceProvider())
rnd.GetBytes(bytes);
string key = string.Concat(bytes.Select(x => x.ToString("x2")));
Console.WriteLine(key);
a8bb1c78402d7050f88c14ed4d923820d8c5aa531205ef3a0f7b5e9784298e44
Если уж совсем по канонам пойти, то есть такой пример.
Here is the complete source file.
Автор решения: shezan
→ Ссылка
Генерация ключа Ethereum основана на эллиптической кривой ecp256k1. По сути приватный ключ это случайное число записанное в 16ричном виде.