Sample code for 30+ languages & platforms
Go

RSA OAEP Padding

See more RSA Examples

Demonstrates how to use OAEP padding with the RSA encryption algorithm. More information about OAEP Padding.

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

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

    pubKey := chilkat.NewPublicKey()
    success = pubKey.LoadFromString(pubKeyXml)
    if success == false {
        fmt.Println(pubKey.LastErrorText())
        rsa.DisposeRsa()
        pubKey.DisposePublicKey()
        return
    }

    success = rsa.UsePublicKey(pubKey)
    if success == false {
        fmt.Println(rsa.LastErrorText())
        rsa.DisposeRsa()
        pubKey.DisposePublicKey()
        return
    }

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

    // Encrypt a string and return the encrypted data base64-encoded:
    rsa.SetEncodingMode("base64")

    plainText := "RSA Encryption should be easy."

    usePrivateKey := false
    encryptedStr := rsa.EncryptStringENC(plainText,usePrivateKey)
    fmt.Println(*encryptedStr)

    rsa.DisposeRsa()
    pubKey.DisposePublicKey()