DATA_SALTIV

Generate a salt and/or initialization vector

WSupported on Windows
USupported on Unix
VSupported on OpenVMS
NSupported in Synergy .NET
xcall DATA_SALTIV(type, [salt], saltlen, [iv], ivlen)

Arguments

type

One of the following encryption types: (n)

DC_AES256 = AES 256-bit CBC mode

DC_AES192 = AES 192-bit CBC mode (deprecated)

DC_AES128 = AES 128-bit CBC mode (deprecated)

DC_3DES = Triple DES CBC three-key mode (deprecated)

salt

(optional) A variable to be loaded with a salt value for key generation. (a)

saltlen

A variable to be set to the length of the salt value for the specified encryption type. (n)

iv

(optional) A variable to be loaded with an initialization vector (IV) for the specified encryption type. (a)

ivlen

A variable to be set to the length of the initialization vector for the specified encryption type. (n)

Discussion

DATA_SALTIV generates a random salt and/or an initialization vector for encrypting and decrypting data. You can then pass this information, along with the user password, as arguments to the DATA_ENCRYPT routine to maximize the effectiveness of the cipher you are using. Because neither the salt nor the initialization vector is considered to be sensitive information, you can write these values to a file and use them again to decrypt the data.

When you specify type and only saltlen and/or ivlen (i.e., not salt and/or iv), the appropriate length is returned but no salt or initialization vector value is generated.

Important

All encryption types except DC_AES256 are deprecated and insecure according to industry security standards and therefore should not be used.

When using the dbl8 compiler, you must .INCLUDE the file DBLDIR:datacrypt.def before using DATA_SALTIV.

See also