Go
Go
RSA Encrypt with Modulus and Exponent
See more RSA Examples
Demonstrates how to RSA encrypt with a given modulus and exponent.Chilkat Go Downloads
success := false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
rsa := chilkat.NewRsa()
// Assuming you already have a base64 modulus and exponent,
// wrap it in XML like this:
modulus := "qMBRpdYrAy5aMmo31NErUizh5sbweguSmh4wlK6uJEIDl+kwTlROnE34KOFExeTbJSX0WygPi+vWl0yNq7buIMUKpytossAAWut5khO3CQJxTk7G2gnEPNUUXHiExGgNrLzcSLv8YIlfVALhoRWyC67KOL+a+3taNq3h+BHeWhM="
exponent := "AQAB"
xml := chilkat.NewXml()
xml.SetTag("RSAPublicKey")
xml.NewChild2("Modulus",modulus)
xml.NewChild2("Exponent",exponent)
pubKey := chilkat.NewPublicKey()
success = pubKey.LoadFromString(xml)
if success == false {
fmt.Println(pubKey.LastErrorText())
rsa.DisposeRsa()
xml.DisposeXml()
pubKey.DisposePublicKey()
return
}
success = rsa.UsePublicKey(pubKey)
if success == false {
fmt.Println(rsa.LastErrorText())
rsa.DisposeRsa()
xml.DisposeXml()
pubKey.DisposePublicKey()
return
}
usePrivateKey := false
plainText := "message in a bottle"
rsa.SetEncodingMode("base64")
encryptedStrBase64 := rsa.EncryptStringENC(plainText,usePrivateKey)
fmt.Println(*encryptedStrBase64)
rsa.DisposeRsa()
xml.DisposeXml()
pubKey.DisposePublicKey()