CESAR METOD ENCRYPT/DECRYPT (o CMED)
es un programa que encripta y decripta texto utilizando el metodo que
utilizava el cesar (usar wikipedia xD)
Tiene la posibilidad de encryptar desde texto expuesto en la cmd o desde
un archivo.
PD: En caso de que sea de un archivo, el texto ha de estar en la misma linea
(mas adelante miraré de resolver eso...)
Creo que el code me a quedad muy extenso... así que para la proxima version
lo simplificaré con un par de FOR.... ya tengo la idea de como hacerlo
pero e estado ocupado aprendiendo VB...
ASí que os dejo esta version....
IMÁGENES:




El code del archivo menu.bat no lo pongo porque no es nada del otro mundo
así y todo si quereis los .bat en %temp% están todos.
encrypter.bat
@echo off
REM Encrypter.bat es parte de CMED.exe
REM This file encrypt the text write in CMD and show it.
REM Coded By Nax
:ini
cls
set fin=
set decod=
set cesar=
set metod=
set codi=
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³ Encriptar ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo.
echo Texto: Texto a encriptar
echo Metodo: Ejemplo:+1*2
set /p codi=Texto ^>^>
if not defined codi goto :ini
set /p metod=Metodo ^>^>
if not defined metod goto :ini
call :codificar %codi%
call :len %c%
call :separando
:text
cls
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³ Encriptar ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo þ Texto original:
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo %codi%
echo.
echo þ Texto codificado:
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo %fin%
echo.
echo Si quieres guardarlo en un archivo escribe
echo el nombre de este, sino,escribe n.
echo.
set /p archiv=^>^>
if not defined archiv (goto :text)
if /i %archiv%==n (goto :cont)
echo %fin%>>%archiv%.txt
:cont
set otr=
set /p otr=Volver a encriptar? (s/n)
if not defined otr (goto :ini)
if /i %otr%==s (goto :ini)
menu.bat
exit
:separando
rem Cojemos los 2 caracteres de cada letra.
set /a len=%len%-2
for /l %%a in (0,2,%len%) do (call :set %%a
)
goto :eof
:set
rem Agregamos %%a char y char especifica a partir de que caracter
rem cojemos numero
set char=%~1
call set d=%%c:~%char%,2%%
call :cesar %d%
goto :eof
:cesar
rem Aplica el metodo del cesar a 2 caracteres (que es una letra)
set e=%~1
set /a aplicar=%e%%metod%
rem Recuerdo que el ultimo numero posible es 36 y el primero 10...
rem en caso de hacer 36+1 deveria dar =10 que es lo que hacen estos 2 if
if %aplicar% GTR 36 (call :mayor)
if %aplicar% LSS 10 (call :menor)
call :code %aplicar%
goto :eof
:mayor
set /a dif=%aplicar%-36
set /a aplicar=9+%dif%
call :comprobar
goto :eof
:menor
set /a dif=10-%aplicar%
set /a aplicar=37-%dif%
call :comprobar
goto :eof
:comprobar
rem Comprovamos que aplicar no sea mayor ni menor que 36 y 10 respectivamente
rem despues de haverlo echo en :cesar
if %aplicar% GTR 36 (call :mayor)
if %aplicar% LSS 10 (call :menor)
goto :eof
:codificar
rem Codificando el texto
set c=%*
set c=%c: =10%
set c=%c:a=11%
set c=%c:b=12%
set c=%c:c=13%
set c=%c:d=14%
set c=%c:e=15%
set c=%c:f=16%
set c=%c:g=17%
set c=%c:h=18%
set c=%c:i=19%
set c=%c:j=20%
set c=%c:k=21%
set c=%c:l=22%
set c=%c:m=23%
set c=%c:n=24%
set c=%c:o=25%
set c=%c:p=26%
set c=%c:q=27%
set c=%c:r=28%
set c=%c:s=29%
set c=%c:t=30%
set c=%c:u=31%
set c=%c:v=32%
set c=%c:w=33%
set c=%c:x=34%
set c=%c:y=35%
set c=%c:z=36%
goto :eof
:code
rem Cojemos los 2 caracteres con el metodo cesar aplicado y lo
rem decodificamos segun su valor... si era a+1, a sera b...
set g=%*
set g=%g:10= %
set g=%g:11=a%
set g=%g:12=b%
set g=%g:13=c%
set g=%g:14=d%
set g=%g:15=e%
set g=%g:16=f%
set g=%g:17=g%
set g=%g:18=h%
set g=%g:19=i%
set g=%g:20=j%
set g=%g:21=k%
set g=%g:22=l%
set g=%g:23=m%
set g=%g:24=n%
set g=%g:25=o%
set g=%g:26=p%
set g=%g:27=q%
set g=%g:28=r%
set g=%g:29=s%
set g=%g:30=t%
set g=%g:31=u%
set g=%g:32=v%
set g=%g:33=w%
set g=%g:34=x%
set g=%g:35=y%
set g=%g:36=z%
set fin=%fin%%g%
goto :eof
:len
rem Establecemos la longitud By TheShadow
set w=%1
set a=0
set bol=0
:lp
call :cnt "%%w:~%a%,1%%" %a%
if %bol%==1 goto :EOF
set /a a=%a%+1
goto lp
:cnt
set cur=%1
set len=%2
if %cur%a==""a (
set bol=1
)
goto :EOF
encryptertext.bat
@echo off
REM Encrypter.bat es parte de CMED.exe
REM This file encrypt the text write in CMD and show it.
REM Coded By Nax
:ini
cls
set fin=
set decod=
set cesar=
set metod=
set codi=
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³ Encriptar ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo.
echo Archivo: Archivo a Codificar
echo (sin extencion)
echo Metodo: Ejemplo:+1*2
set /p codi=Archivo ^>^>
if not defined codi goto :ini
set /p metod=Metodo ^>^>
if not defined metod goto :ini
for /f "eol=; tokens=*" %%a in (%codi%.txt) do (set var=%%a)
call :codificar %var%
call :len %c%
call :separando
:text
cls
echo.
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³ Encriptar ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
echo þ Texto original:
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo %var%
echo.
echo þ Texto codificado:
echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
echo %fin%
echo.
echo Si quieres guardarlo en un archivo escribe el nombre de este
echo sino,escribe n.
echo.
set /p archiv=^>^>
if not defined archiv (goto :text)
if /i %archiv%==n (goto :cont)
echo %fin%>>%archiv%.txt
:cont
set otr=
set /p otr=Volver a encriptar? (s/n)
if not defined otr (goto :ini)
if /i %otr%==s (goto :ini)
menu.bat
exit
:separando
rem Cojemos los 2 caracteres de cada letra.
set /a len=%len%-2
for /l %%a in (0,2,%len%) do (call :set %%a
)
goto :eof
:set
rem Agregamos %%a char y char especifica a partir de que caracter
rem cojemos numero
set char=%~1
call set d=%%c:~%char%,2%%
call :cesar %d%
goto :eof
:cesar
rem Aplica el metodo del cesar a 2 caracteres (que es una letra)
set e=%~1
set /a aplicar=%e%%metod%
rem Recuerdo que el ultimo numero posible es 36 y el primero 10...
rem en caso de hacer 36+1 deveria dar =10 que es lo que hacen estos 2 if
if %aplicar% GTR 36 (call :mayor)
if %aplicar% LSS 10 (call :menor)
call :code %aplicar%
goto :eof
:mayor
set /a dif=%aplicar%-36
set /a aplicar=9+%dif%
call :comprobar
goto :eof
:menor
set /a dif=10-%aplicar%
set /a aplicar=37-%dif%
call :comprobar
goto :eof
:comprobar
rem Comprovamos que aplicar no sea mayor ni menor que 36 y 10 respectivamente
rem despues de haverlo echo en :cesar
if %aplicar% GTR 36 (call :mayor)
if %aplicar% LSS 10 (call :menor)
goto :eof
:codificar
rem Codificando el texto
set c=%*
set c=%c: =10%
set c=%c:a=11%
set c=%c:b=12%
set c=%c:c=13%
set c=%c:d=14%
set c=%c:e=15%
set c=%c:f=16%
set c=%c:g=17%
set c=%c:h=18%
set c=%c:i=19%
set c=%c:j=20%
set c=%c:k=21%
set c=%c:l=22%
set c=%c:m=23%
set c=%c:n=24%
set c=%c:o=25%
set c=%c:p=26%
set c=%c:q=27%
set c=%c:r=28%
set c=%c:s=29%
set c=%c:t=30%
set c=%c:u=31%
set c=%c:v=32%
set c=%c:w=33%
set c=%c:x=34%
set c=%c:y=35%
set c=%c:z=36%
goto :eof
:code
rem Cojemos los 2 caracteres con el metodo cesar aplicado y lo
rem decodificamos segun su valor... si era a+1, a sera b...
set g=%*
set g=%g:10= %
set g=%g:11=a%
set g=%g:12=b%
set g=%g:13=c%
set g=%g:14=d%
set g=%g:15=e%
set g=%g:16=f%
set g=%g:17=g%
set g=%g:18=h%
set g=%g:19=i%
set g=%g:20=j%
set g=%g:21=k%
set g=%g:22=l%
set g=%g:23=m%
set g=%g:24=n%
set g=%g:25=o%
set g=%g:26=p%
set g=%g:27=q%
set g=%g:28=r%
set g=%g:29=s%
set g=%g:30=t%
set g=%g:31=u%
set g=%g:32=v%
set g=%g:33=w%
set g=%g:34=x%
set g=%g:35=y%
set g=%g:36=z%
set fin=%fin%%g%
goto :eof
:len
rem Establecemos la longitud By TheShadow
set w=%1
set a=0
set bol=0
:lp
call :cnt "%%w:~%a%,1%%" %a%
if %bol%==1 goto :EOF
set /a a=%a%+1
goto lp
:cnt
set cur=%1
set len=%2
if %cur%a==""a (
set bol=1
)
goto :EOF
Creo que es innecesario tener 2 archivos... para la proxima version
lo modificaré para que sea todo en un único archivo.
Os recomiendo bajar el .exe para tenerlo ya todo...
Necesitas ser usuario para ver los enlaces
Crear Usuario Hacer SesionDESCARGAR CMED.EXE
Necesitas ser usuario para ver los enlaces
Crear Usuario Hacer SesionSi no va aqui sta el index...
Creo que no me dejo nada...
Salu2
Nax
EDIT: e cambiado el cmed.exe por cmed.rar pero el link directo sigue sin funcionarme...
si eso mirad en el index y esta en .rar y .exe
salu2
nax