6.1-roPassKey
ON THIS PAGE
This object provides a means for generating keys (hashes) from a password and salt.
Object Creation: The object is passed an associative array that specifies the generation methods and cipher.
CreateObject("roPassKey", parameters As roAssociativeArray)
The associative array should contain the following parameters:
method
: The key derivation method. Currently, only "pbkdf2" can be specified.keyfn
: The pseudorandom function (PRF). Currently, only "hmac-sha256" can be specified.keylen
: The key lengthiterations
: The number of iterations
ifPassKey
GenerateKey(password As Object, salt As Object) As roByteArray
Generates a key using the supplied password and salt. The parameters may be passed as either strings or roByteArray instances. The generated roByteArray instance may contain all possible byte values, including NUL.
GenerateSalt(length As Integer) As roByteArray
Generates a salt of the specified length. This salt can be used when calling the GenerateKey()
method. The generated roByteArray instance may contain all possible byte values, including NUL.
Example
' Create input test data salt = CreateObject("roByteArray") pass = CreateObject("roByteArray") pass.FromAsciiString("password") salt.FromAsciiString("salt") ' Create the key generator pk = CreateObject("roPassKey", { method: "pbkdf2", keyfn: "hmac-sha256", keylen: 32, iterations: 4096 } ) ' key with be a roByteArray key = pk.GenerateKey(pass, salt)