Sample code for 30+ languages & platforms
DataFlex 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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoRsa
    String sPubKeyXml
    Variant vPubKey
    Handle hoPubKey
    String sPlainText
    Boolean iUsePrivateKey
    String sEncryptedStr
    String sTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatRsa)) To hoRsa
    If (Not(IsComObjectCreated(hoRsa))) Begin
        Send CreateComObject of hoRsa
    End

    //  RSA public key in XML format:
    Move "<RSAPublicKey><Modulus>of3im3mRgd2NLXIGoK6uYLg6jj0Ug2b42rnqa5Tbwz2ieFqMJqt+++x2oqLYGurlz49nt+7/785g3XYWqoka4u9c9zul6YubIjnBM72dQy7rEkEfbUxgjcxqXyjZFx+FpaxFUecLu688XEu+9UA42VKiCgcl+E7TrqnfeeYpNXc=</Modulus><Exponent>AQAB</Exponent></RSAPublicKey>" To sPubKeyXml

    Get Create (RefClass(cComChilkatPublicKey)) To hoPubKey
    If (Not(IsComObjectCreated(hoPubKey))) Begin
        Send CreateComObject of hoPubKey
    End
    Get ComLoadFromString Of hoPubKey sPubKeyXml To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoPubKey To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get pvComObject of hoPubKey to vPubKey
    Get ComUsePublicKey Of hoRsa vPubKey To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoRsa To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    //  To use Optimal Asymmetric Encryption Padding (OAEP) padding,
    //  simply set the PkcsPadding property to False
    Set ComPkcsPadding Of hoRsa To False

    //  Encrypt a string and return the encrypted data base64-encoded:
    Set ComEncodingMode Of hoRsa To "base64"

    Move "RSA Encryption should be easy." To sPlainText

    Move False To iUsePrivateKey
    Get ComEncryptStringENC Of hoRsa sPlainText iUsePrivateKey To sEncryptedStr
    Showln sEncryptedStr


End_Procedure