SteemPrivateKey.fromRandom constructor

SteemPrivateKey.fromRandom()

Generate the random private key

Implementation

factory SteemPrivateKey.fromRandom() {
//    final int randomLimit = 1 << 32;
  final randomLimit = 4294967296;
  Random randomGenerator;
  try {
    randomGenerator = Random.secure();
  } catch (e) {
    randomGenerator = Random();
  }

  var randomInt1 = randomGenerator.nextInt(randomLimit);
  var entropy1 = utils.encodeBigInt(BigInt.from(randomInt1));

  var randomInt2 = randomGenerator.nextInt(randomLimit);
  var entropy2 = utils.encodeBigInt(BigInt.from(randomInt2));

  var randomInt3 = randomGenerator.nextInt(randomLimit);
  var entropy3 = utils.encodeBigInt(BigInt.from(randomInt3));

  var entropy = entropy1.toList();
  entropy.addAll(entropy2);
  entropy.addAll(entropy3);
  var randomKey = Uint8List.fromList(entropy);
  var d = sha256.convert(randomKey);
  return SteemPrivateKey.fromBuffer(d.bytes as Uint8List?);
}