Sample code for 30+ languages & platforms
Swift 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 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!)")

}