ns_mcrypt 1.1
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"
%>