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

Lua
local chilkat = require("chilkat")

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

local rsa = chilkat.Rsa.new()

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

local pubKey = chilkat.PublicKey.new()
local success = pubKey:load_from_string(pubKeyXml)
if not success then
    print(pubKey.last_error_text)
    return
end

success = rsa:use_public_key(pubKey)
if not success then
    print(rsa.last_error_text)
    return
end

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

-- Encrypt a string and return the encrypted data base64-encoded:
rsa.encoding_mode = "base64"

local plainText = "RSA Encryption should be easy."

local usePrivateKey = false
local encryptedStr = rsa:encrypt_string_enc(plainText, usePrivateKey)
print(encryptedStr)