![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) RSA OAEP PaddingDemonstrates how to use OAEP padding with the RSA encryption algorithm. More information about OAEP Padding. Note: This example requires Chilkat v11.0.0 or greater.
IncludeFile "CkPublicKey.pb" IncludeFile "CkRsa.pb" Procedure ChilkatExample() success.i = 0 ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. rsa.i = CkRsa::ckCreate() If rsa.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; RSA public key in XML format: pubKeyXml.s = "<RSAPublicKey><Modulus>of3im3mRgd2NLXIGoK6uYLg6jj0Ug2b42rnqa5Tbwz2ieFqMJqt+++x2oqLYGurlz49nt+7/785g3XYWqoka4u9c9zul6YubIjnBM72dQy7rEkEfbUxgjcxqXyjZFx+FpaxFUecLu688XEu+9UA42VKiCgcl+E7TrqnfeeYpNXc=</Modulus><Exponent>AQAB</Exponent></RSAPublicKey>" pubKey.i = CkPublicKey::ckCreate() If pubKey.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkPublicKey::ckLoadFromString(pubKey,pubKeyXml) If success = 0 Debug CkPublicKey::ckLastErrorText(pubKey) CkRsa::ckDispose(rsa) CkPublicKey::ckDispose(pubKey) ProcedureReturn EndIf success = CkRsa::ckUsePublicKey(rsa,pubKey) If success = 0 Debug CkRsa::ckLastErrorText(rsa) CkRsa::ckDispose(rsa) CkPublicKey::ckDispose(pubKey) ProcedureReturn EndIf ; To use Optimal Asymmetric Encryption Padding (OAEP) padding, ; simply set the PkcsPadding property to 0 CkRsa::setCkPkcsPadding(rsa, 0) ; Encrypt a string and return the encrypted data base64-encoded: CkRsa::setCkEncodingMode(rsa, "base64") plainText.s = "RSA Encryption should be easy." usePrivateKey.i = 0 encryptedStr.s = CkRsa::ckEncryptStringENC(rsa,plainText,usePrivateKey) Debug encryptedStr CkRsa::ckDispose(rsa) CkPublicKey::ckDispose(pubKey) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.