verify method
Verifies whether bytes was signed with signature
.
Example
In this example, we use Ed25519
:
import 'package:cryptography/cryptography.dart';
Future<void> main() async {
final signedMessage = [1,2,3];
final ed25519 = Ed25519();
final keyPair = await ed25519.newKeyPair();
final signature = await ed25519.sign(
signedMessage,
keyPair: keyPair,
);
// ...
final isRealSignature = await ed25519.verify(
signedMessage,
signature: signature,
);
print('Signature verification result: $isRealSignature');
}
Implementation
@override
Future<bool> verify(List<int> message, {required Signature signature}) async {
if (isSupportedPlatform) {
final rsaPublicKey = signature.publicKey as RsaPublicKey;
final result = await invokeMethod(
'RsaSsaPkcs1v15.verify',
{
'data': Uint8List.fromList(message),
'hash': hashAlgorithmName,
'e': Uint8List.fromList(rsaPublicKey.e),
'n': Uint8List.fromList(rsaPublicKey.n),
},
);
return result['ok'] as bool;
}
return await fallback.verify(message, signature: signature);
}