StatelessResetPacket.create constructor

StatelessResetPacket.create(
  1. StatelessResetToken token
)

Creates a stateless reset packet with random padding

Implementation

factory StatelessResetPacket.create(StatelessResetToken token) {
  // Packet size = random bytes + token (16)
  // Minimum size is 39 bytes, so random bytes = at least 23
  final randomBytesLength = minPacketSize - StatelessResetToken.length;
  final randomBytes = Uint8List(randomBytesLength);

  // Fill with random data
  for (int i = 0; i < randomBytes.length; i++) {
    randomBytes[i] = (DateTime.now().microsecondsSinceEpoch + i) & 0xFF;
  }

  return StatelessResetPacket(
    token: token,
    randomBytes: randomBytes,
  );
}