Sample code for 30+ languages & platforms
Tcl

RSA Encrypt with Modulus and Exponent

See more RSA Examples

Demonstrates how to RSA encrypt with a given modulus and exponent.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set rsa [new_CkRsa]

# Assuming you already have a base64 modulus and exponent,
# wrap it in XML like this:
set modulus "qMBRpdYrAy5aMmo31NErUizh5sbweguSmh4wlK6uJEIDl+kwTlROnE34KOFExeTbJSX0WygPi+vWl0yNq7buIMUKpytossAAWut5khO3CQJxTk7G2gnEPNUUXHiExGgNrLzcSLv8YIlfVALhoRWyC67KOL+a+3taNq3h+BHeWhM="
set exponent "AQAB"

set xml [new_CkXml]

CkXml_put_Tag $xml "RSAPublicKey"
CkXml_NewChild2 $xml "Modulus" $modulus
CkXml_NewChild2 $xml "Exponent" $exponent

set pubKey [new_CkPublicKey]

set success [CkPublicKey_LoadFromString $pubKey $xml]
if {$success == 0} then {
    puts [CkPublicKey_lastErrorText $pubKey]
    delete_CkRsa $rsa
    delete_CkXml $xml
    delete_CkPublicKey $pubKey
    exit
}

set success [CkRsa_UsePublicKey $rsa $pubKey]
if {$success == 0} then {
    puts [CkRsa_lastErrorText $rsa]
    delete_CkRsa $rsa
    delete_CkXml $xml
    delete_CkPublicKey $pubKey
    exit
}

set usePrivateKey 0
set plainText "message in a bottle"

CkRsa_put_EncodingMode $rsa "base64"
set encryptedStrBase64 [CkRsa_encryptStringENC $rsa $plainText $usePrivateKey]
puts "$encryptedStrBase64"

delete_CkRsa $rsa
delete_CkXml $xml
delete_CkPublicKey $pubKey