verifySync method

bool verifySync(
  1. Uint8List message,
  2. Uint8List signature,
  3. Uint8List pubkey
)

Returns true if the signature was derived by signing the message using pubkey's secret key.

Implementation

// Future<bool> verify(final Uint8List message, final Uint8List signature,
//         final Uint8List pubkey) =>
//     compute((_) => verifySync(message, signature, pubkey), null);

/// Returns true if the [signature] was derived by signing the [message] using [pubkey]'s
/// `secret key`.
bool verifySync(final Uint8List message, final Uint8List signature,
    final Uint8List pubkey) {
  if (signature.length != signatureLength)
    throw Exception('Invalid signature length.');
  final Uint8List signedMessage = Uint8List.fromList(signature + message);
  final Uint8List buffer = Uint8List(signedMessage.length);
  final int result = TweetNaCl.crypto_sign_open(
      buffer, -1, signedMessage, 0, signedMessage.length, pubkey);
  return result == 0;
}