Moving Grave4:(MG#_4.X02):22/06/1996 << Back To Moving Grave4


ENCRIPTION (FIRST STEEPS)....... -------------------------------- Probablemente sea yo muy querido por aquellos que recien empiezan en el tema ya que siempre explico cosas escenciales y de 0.. pero bueno, asi me gusta, que se beneficie una mayoria y no una minoria que guarda la informacion en cajas fuertes para que nadie las conozca y forman sectas informaticas o elites para llevarse toda esa MIERDA a la tumba... Ahh.... bueno luego de esta descarga psico-emocional comienzo...: Aca presento un proyecto que puede ser mejorado, sirve para encriptar un texto o archivo para que no sea leido por otra persona salvo.. quien tenga nuestro programa, o sepa la clave de desencripcion... es util para mandar archivos por internet o lugares asi, donde hay mucha gente, y pueden llegar a leer la informacion que enviamos... El encriptor cambia el valor de cada caracter en el texto, por ej., la letra 'A' se trasformaria en 'R' la 'B' en 'S' y tendriamos un codigo raro ilegi- ble a no ser que tengamos el desencriptor..... :) La cosa es asi..: │Valor Ascii│Caracter│ ENCRIPTAS │Valor Ascii│Caracter│ │-----------│--------│-----------│-----------│--------│ │ 65 │ A │ + 16 = │ 81 │ Q │ .-----------.--------.-----------.-----------.--------. Y asi sucesivamente, a cada caracter del texto, sea el caracter que sea le sumo 16 en valor ascii y depende que numero tenga luego de la suma sera otro caracter de la tabla ascii...! El programa : --------CUT HERE!---------------------------------------------------------- Program Encript; var archf1 : file of char; {Para leer un archivo se nesesita una variable de archivo que funciona como handle y en este caso usamos dos ya que uno para el archivo a leer y otro para el archivo para escribir} archf2 : file of char; c : char; {Variable de caracter, un byte, que la uso para leer y gravar en los archivos} p : boolean; {Boolean que puede ser o true o false, osea un bit} o : char; {Otra char para comparar} Procedure Cambia; Begin If (C<#255)and(C>#00)Then {si el caracter (variable C) es menor o igual a " "  que es igual a 255 en ascii, y tambien es mayor que 28 que seria el ascii antes del "" , entonces lo encriptamos} Begin Dec(C,16) {si el caracter es menor a el valor que tiene el ASCII de la M le resta 13 asciis} End; End; begin WriteLn('.-----------------------------------------------------------------.'); WriteLn('│ Encriptador por Satan Klauz │'); WriteLn('│ Programado el 28/11/95, Buenos Aires, Argentina │'); WriteLn('│ Creatures Of Electronic AntiChrist -COEAC- │'); WriteLn('._________________________________________________________________.'); if not(paramcount=2) then Begin WriteLn(' Ejecutar:'); WriteLn('MgEnCriPt.EXE ARCHIVO_A_ENCRIOTAR ARCIVO_ORIGEN '); WriteLn('MGENCIPT.EXE FILE1 FILE2'); WriteLn; WriteLn('Esto encripta el file1 al file2.'); halt(0); {Y termina el programa con un halt} End; assign (archf1,paramstr(1)); assign (archf2,paramstr(2)); reset(archf1); {Reset sirve para habrir un archivo ya existente} If IOResult <> 0 Then Begin Writeln('No se a encontrado el archivo ',ParamStr(1)); Halt(0); {Y terminaria el programa} End; rewrite(archf2); {Con esto reescribe el archivo archf2 y no puede haber errores, ya que si existe lo sobre escribe y sino lo crea..} {la sentencia repeat until repito lo que se alla en el medio hasta que se cumple la condicion de until} repeat {empiesa a repetir} if (not(eof(archf1))) then {not es para negativo, entonces esto dice que si no es el eof, osea termine, el archivo archf1, haga las cosas entre el begin y el end} begin read(archf1,c); {Leer un caracter del archivo origen} cambia; {Llama a una subrutina para modificar el char} write(archf2,c); {Guarda el caracter en archf2} end; Until (eof(archf1)); {termina de repetir si se acaba el archivo} close(archf1); {cierra ambos archivos, sino lo cerramos el modificado no se graba..} close(archf2); end. ----CUT NOW! 8< --------------------------------------------------------- De regreso.......! :) Ok, el programa es muy facil de entender, y con un minimo de conocimientos de Tpascal se entiente. Ahora el desencriptor es igual, solo que cambia esta parte: ----------------------------------------------------------------------------- Begin Dec(C,16) {le sumo 16 al caracter actual.....} End; ----------------------------------------------------------------------------- Y lo cambio por...: ----------------------------------------------------------------------------- Begin Inc(C,16) {le sumo 16 al caracter actual.....} End; ----------------------------------------------------------------------------- En sintesis, rehago lo que deshice antes, todo vuelve a la normalidad :) Bueno, eso fue todo, espero no haberlo hecho muy confuso, no quise dar un curso de PASCAL, ni hacerlo imposible de entender, con unos minimos cono- cimientos de pascal se entiende y puede ser mejorado facilmente. Si algun lector decea que profundice mas este tema hagamelo saber, que gus- toso le solucionare la duda. ChaU! -= Written by Satan Klauz =- To contaKt me: .----------------------------------------------. │(Internet) SatanKz@Zurich.gcomm.com │ │(Under.-NewsNEt) 54:541/100 │ │(BBs) 768-8639 Twilight Zone 23/08│ .----------------------------------------------.