Sample code for 30+ languages & platforms
Swift

RSA OAEP Padding

See more RSA Examples

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

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    let rsa = CkoRsa()!

    // RSA public key in XML format:
    var pubKeyXml: String? = "<RSAPublicKey><Modulus>of3im3mRgd2NLXIGoK6uYLg6jj0Ug2b42rnqa5Tbwz2ieFqMJqt+++x2oqLYGurlz49nt+7/785g3XYWqoka4u9c9zul6YubIjnBM72dQy7rEkEfbUxgjcxqXyjZFx+FpaxFUecLu688XEu+9UA42VKiCgcl+E7TrqnfeeYpNXc=</Modulus><Exponent>AQAB</Exponent></RSAPublicKey>"

    let pubKey = CkoPublicKey()!
    success = pubKey.load(fromString: pubKeyXml)
    if success == false {
        print("\(pubKey.lastErrorText!)")
        return
    }

    success = rsa.usePublicKey(pubKey: pubKey)
    if success == false {
        print("\(rsa.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"

    var plainText: String? = "RSA Encryption should be easy."

    var usePrivateKey: Bool = false
    var encryptedStr: String? = rsa.encryptStringENC(str: plainText, bUsePrivateKey: usePrivateKey)
    print("\(encryptedStr!)")

}