ns_mcrypt 1.1

Richard Kotal, info@waplikace.cz, www.aolserver.cz

The module implements interface to mcrypt library (http://mcrypt.sourceforge.net) for aol server and standard TCL language.
The module was tested with 2.5.7. version of mcrypt library.

For TCL samples see test.tcl files into docs directories.

PATCH:
If your aolserver crash, then we must to use patch file mcrypt_extra.c.diff from patch directory of ns_mcrypt.

ns_mcypt has three categories of commands:
Small samples:
[ns_mcrypt algorithms]
result: <%=[ns_mcrypt algorithms]%>

[ns_mcrypt capability -algo  "rijndael-256"]
result: <%=[ns_mcrypt capability -algo "rijndael-256"]%>

set td [ns_mcrypt new "rijndael-256" "ncfb"]
ns_mcrypt initvector set -hex $td "303132333435"
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 -hex $td "303132333435" set iv [ns_mcrypt initvector get -base64 $td] ns_adp_puts $iv ns_mcrypt destroy $td %>

set td [ns_mcrypt new "rijndael-256" "cbc"]
ns_mcrypt initvector set -random $td
ns_mcrypt init $td "keyword"
set txt [ns_mcrypt crypt -in raw -out hex $td "plaintext test"]
ns_adp_puts "crypt text (hex string): $txt"
ns_mcrypt flush $td 
ns_mcrypt init $td "keyword"
set txt [ns_mcrypt decrypt -in hex -out str $td $txt]
ns_mcrypt flush $td 
ns_mcrypt destroy $td
ns_adp_puts "decrypt text: $txt"
result:
<% set td [ns_mcrypt new "rijndael-256" "cbc"] ns_mcrypt initvector set -random $td ns_mcrypt init $td "keyword" set txt [ns_mcrypt crypt -in raw -out hex $td "plaintext test"] ns_adp_puts "crypt text (hex string): $txt" ns_mcrypt flush $td ns_mcrypt init $td "keyword" set txt [ns_mcrypt decrypt -in hex -out str $td $txt] ns_mcrypt flush $td ns_mcrypt destroy $td ns_adp_puts "
" ns_adp_puts "decrypt text: $txt" %>