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

Go
    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()