up

Inicialization vector (IV)

set IV for created MCRYPT object

command:ns_mcrypt initvector set -base64|-raw|-hex|-random mcypt_id IV
parameters: -base64|-raw|-hex|-random - type of input format for IV string :: hexadecimal string: -hex; raw string (binary, plain) (TclByteArray): -raw; binary base64 encoded: -base64; randomly generated IV string: -random.
mcrypt_id - id of MCRYPT object generated by new command (see crypt commands)
IV - string of initialization vector
result:set the IV for the specified MCRYPT object
example:ns_mcrypt initvector set -random $mcyptid

get IV for created MCRYPT object

command:ns_mcrypt initvector get -base64|-raw|-hex mcypt_id
parameters: -base64|-raw|-hex - type of output format for IV string :: hexadecimal string: -hex; raw string (binary) (TclByteArray): -raw; binary base64 encoded: -base64.
mcrypt_id - id of MCRYPT object generated by new command (see crypt commands)
result:return string of the IV for the specified MCRYPT object
example:set iv [ns_mcrypt initvector get -raw $mcyptid]

Full samples:

set and get IV for MCRYPT object

set td [ns_mcrypt new "rijndael-256" "ncfb"]
ns_mcrypt initvector set -raw $td "012345678901234567890123456789"
set iv [ns_mcrypt initvector get -hex $td]
ns_adp_puts $iv
ns_mcrypt destroy $td
result: <% set td [ns_mcrypt new "rijndael-256" "ncfb"] ns_mcrypt initvector set -raw $td "012345678901234567890123456789" set iv [ns_mcrypt initvector get -hex $td] ns_adp_puts $iv ns_mcrypt destroy $td %>

randomly set IV and get IV for MCRYPT object

set td [ns_mcrypt new "rijndael-256" "ncfb"]
ns_mcrypt initvector set -random $td 
set iv [ns_mcrypt initvector get -base64 $td]
ns_adp_puts $iv
ns_mcrypt destroy $td
result: <% set td [ns_mcrypt new "rijndael-256" "ncfb"] ns_mcrypt initvector set -random $td set iv [ns_mcrypt initvector get -base64 $td] ns_adp_puts $iv ns_mcrypt destroy $td %>