Sample code for 30+ languages & platforms
Go

PBKDF2 Key Derivation

Demonstrates AES secret key derivation from a password using PBDKF2.

Chilkat Go Downloads

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

    crypt := chilkat.NewCrypt2()

    password := "correcthorsebatterystaple"

    // Derive from the utf-8 byte representation of the password.
    charset := "utf-8"

    hashAlg := "sha256"

    crypt.SetEncodingMode("hex")
    saltHex := crypt.GenRandomBytesENC(16)

    iterationCount := 310000

    // Derive a 256-bit key from the password.
    outputBitLen := 256

    // The derived key is returned as a hex or base64 encoded string.
    // (Note: The salt argument must be a string that also uses
    // the same encoding.)
    enc := "hex"

    hexKey := crypt.Pbkdf2(password,charset,hashAlg,*saltHex,iterationCount,outputBitLen,enc)

    fmt.Println(*hexKey)

    // Sample output:
    // 597734C894FF89CFD3B93D925462C24E97724BCB118F6FC919007F5ABC27E768

    crypt.DisposeCrypt2()