TXTCOD - Encoding module using the SAC system.
use TXTCOD; TXTCOD::codage($source, $destination, <$file.cod>, <$algorithm.alc>, <$param>); $param = TXTCOD::decodage($source, $destination, $file.cod, <$algorithm.alc>); $file.cod = TXTCOD::createcod;
TXTCOD 4.7 encodes files with the SAC system, 2.4 version.. The SAC system consists in several algorithms : a default algorithm who can be remplaced by user-written algorithms. Every algorithm uses a .cod file generated by the module and who contains a list of random numbers used by the module in order to ensure a maximal protection. B<< A file must be encoded with the same algorithm and the same .cod file !!! . >> This version of the SAC system can encode any type of file (binary files, text) and recognizes automatically their type. In the first part you will see the module's how-to and in the second part how to program an algorithm.
These functions will be accessible after you have typed B<< use TXTCOD; >>
You call the encoding function by typing : TXTCOD::codage($source, $destination, <$file.cod>, <$algorithm.alc>, <$param>); This function doesn't return any value. $source is the file you want to encode. $destination is the file where TXTCOD will send the result of the encoding. These two parameters are B<< obligatory >>. $file.cod is the .cod file who is indispensable for the encoding and the decoding. If you don't specify this parameter, will search a "[year].cod" file, for example "2003.cod". A .cod file MUST be changed every year at least in order to assure an optimal protection. $algorithm.alc is the used algorithm. If you don't put anything, TXTCOD will use the default algorithm. $param is an user-defined parameter who won't be crypted.
You call the decoding function by typing : $param = TXTCOD::decodage($source, $destination, $file.cod, <$algorithm.alc>); $source in the file you want to decode. $destination is the result of the decoding $file.cod et $algorithm.alc -> see the encoding function description. The returned value is the parameter you optionnally defined while the encoding and which isn't crypted.
To create a .cod file type : $file.cod = TXTCOD::createcod; The returned value is the file's name ("[year].cod")
Writing an algorithm is simple : create a file ended by ".alc". This file will contain one-line commands who will tell the module the way to encode and decode your files. =head2 1) encoding The first part of the file will contain the encoding algorithm. This algorithm will have a few variables : - X, each encoded letter - A,B,C,D,E,F,G,H,I,J, script-defined variables. - T,M,P more secured variables There are many operators : - addition: "+" - subtraction: "-" - multiplication: "*" - division: "/" - power: "**" For example, we'll use the line : "X*(A+2)" in order to multiply the variable by (A+2). The compilation will be done internally by the module
* increase the velocity of the users' algorithm which is REALLY slower than the default algorithm :( * correct my poor english faults ;) and comment the script in english