Swift
Swift
PBKDF2 Key Derivation
Demonstrates AES secret key derivation from a password using PBDKF2.Chilkat Swift Downloads
func chilkatTest() {
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let crypt = CkoCrypt2()!
var password: String? = "correcthorsebatterystaple"
// Derive from the utf-8 byte representation of the password.
var charset: String? = "utf-8"
var hashAlg: String? = "sha256"
crypt.encodingMode = "hex"
var saltHex: String? = crypt.genRandomBytesENC(numBytes: 16)
var iterationCount: Int = 310000
// Derive a 256-bit key from the password.
var outputBitLen: Int = 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.)
var enc: String? = "hex"
var hexKey: String? = crypt.pbkdf2(password: password, charset: charset, hashAlg: hashAlg, salt: saltHex, iterationCount: iterationCount, outputKeyBitLen: outputBitLen, encoding: enc)
print("\(hexKey!)")
// Sample output:
// 597734C894FF89CFD3B93D925462C24E97724BCB118F6FC919007F5ABC27E768
}