Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.0.0+

RSA OAEP Padding

See more RSA Examples

Demonstrates how to use OAEP padding with the RSA encryption algorithm. More information about OAEP Padding.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final rsa = CkRsa();

  // RSA public key in XML format:
  final pubKeyXml = '<RSAPublicKey><Modulus>of3im3mRgd2NLXIGoK6uYLg6jj0Ug2b42rnqa5Tbwz2ieFqMJqt+++x2oqLYGurlz49nt+7/785g3XYWqoka4u9c9zul6YubIjnBM72dQy7rEkEfbUxgjcxqXyjZFx+FpaxFUecLu688XEu+9UA42VKiCgcl+E7TrqnfeeYpNXc=</Modulus><Exponent>AQAB</Exponent></RSAPublicKey>';

  final pubKey = CkPublicKey();
  try {
    pubKey.loadFromString(pubKeyXml);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  try {
    rsa.usePublicKey(pubKey);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // To use Optimal Asymmetric Encryption Padding (OAEP) padding,
  // simply set the PkcsPadding property to false
  rsa.pkcsPadding = false;

  // Encrypt a string and return the encrypted data base64-encoded:
  rsa.encodingMode = 'base64';

  final plainText = 'RSA Encryption should be easy.';

  final usePrivateKey = false;
  final encryptedStr = rsa.encryptStringENC(plainText, usePrivateKey);
  print(encryptedStr);
}