verifySignature static method

bool verifySignature({
  1. required String publicKeyHex,
  2. required String signatureHex,
  3. required String challengeHex,
})

Implementation

static bool verifySignature({
  required String publicKeyHex,
  required String signatureHex,
  required String challengeHex,
}) {
  final signedBytes = hexToBin(signatureHex);
  if (signedBytes.length < Signature.signatureLength) {
    return false;
  }
  final signatureBytes = Uint8List.fromList(
    signedBytes.sublist(0, Signature.signatureLength),
  );
  final challengeBytes = Uint8List.fromList(hexToBin(challengeHex));
  final verifyKey = VerifyKey(hexToBin(publicKeyHex));

  try {
    verifyKey.verify(
      signature: Signature(signatureBytes),
      message: challengeBytes,
    );
    return true;
  } on Exception {
    return false;
  }
}