Skip to content

Commit

Permalink
adastegano v0.2 (antiguamente almacenado en canalada.org)
Browse files Browse the repository at this point in the history
  • Loading branch information
Andres-Solino-Webbeds authored and mgrojo committed Sep 13, 2023
1 parent 7f1efa5 commit 84015f0
Show file tree
Hide file tree
Showing 16 changed files with 596 additions and 458 deletions.
Binary file modified AdaStegano.odt
Binary file not shown.
8 changes: 4 additions & 4 deletions src/adastegano-p_ayuda.adb
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@

with adastegano_menu;
with Adastegano_Menu;

separate(Adastegano)

procedure p_Ayuda is
procedure P_Ayuda is


begin
adastegano_menu.ayuda;
end p_Ayuda;
Adastegano_Menu.Ayuda;
end P_Ayuda;
34 changes: 13 additions & 21 deletions src/adastegano-preguntar-cifrar.adb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
with Ada.Text_Io;
use Ada.Text_Io;

with Adastegano_Menu,Pantalla,d_xtras;
use Adastegano_Menu,Pantalla,d_xtras;
with Adastegano_Menu,Pantalla,D_Xtras;
use Adastegano_Menu,Pantalla,D_Xtras;

separate(Adastegano.Preguntar)

Expand Down Expand Up @@ -35,7 +35,7 @@ begin
Continuar:=True;
Limpiar_Pantalla;
Adastegano_Menu.Menu_Cifrado_Metodo;
elsif not Comprobar_ruta (Origen(1..Ind_Orig)) then
elsif not Comprobar_Ruta (Origen(1..Ind_Orig)) then
Limpiar_Pantalla;
Adastegano_Menu.Error_Ruta_Invalida;
Limpiar_Pantalla;
Expand Down Expand Up @@ -70,7 +70,7 @@ begin
Adastegano_Menu.Error_Rutas_Iguales;
Limpiar_Pantalla;
Adastegano_Menu.Menu_Cifrado_Ruta_Destino;
elsif not Comprobar_ruta (Destino(1..Ind_Dest)) then
elsif not Comprobar_Ruta (Destino(1..Ind_Dest)) then
Limpiar_Pantalla;
Adastegano_Menu.Error_Ruta_Invalida;
Limpiar_Pantalla;
Expand Down Expand Up @@ -145,7 +145,7 @@ begin
if Ind_Clave2<
Longitud_Maxima_Clave and
C/=Back then
Put("***");
Put(String_Contraseña);
Ind_Clave2:=Ind_Clave2+1;
Clave2(Ind_Clave2):=C;
end if;
Expand All @@ -164,31 +164,23 @@ begin
Adastegano_Menu.Menu_Cifrado_Clave;
elsif C=Intro then

-- Fin por fin!
-- Muestra un resumen
if Clave(1..Ind_Clave)=
Clave2(1..Ind_Clave2) then
Limpiar_Pantalla;
Menu_Cifrado_Confirmacion_Datos;
Put_Line("Metodo: " &
Metodo'Img);
Put_Line("Ruta origen: " &
Origen(1..Ind_Orig));
Put_Line("Ruta destino: " &
Destino(1..Ind_Dest));
Confirmacion_Datos_Metodo(T_Metodo'Image(Metodo));
Confirmacion_Datos_Origen(Origen(1..Ind_Orig));
Confirmacion_Datos_Destino(Destino(1..Ind_Dest));
if Ind_Cop>0 then
Put_Line(
"Ruta copia: " &
Copia(1..Ind_Cop));
Confirmacion_Datos_Copia(Copia(1..Ind_Cop));
else
Put_Line(
"Ruta copia: " &
Destino(1..Ind_Dest));
Confirmacion_Datos_Copia(Destino(1..Ind_Dest));
end if;
Put_Line(
"Clave: Confirmada" );
Confirmacion_Datos_Clave(Mensaje_Confirmacion_Contraseña);
New_Line(5);
Coger_Caracter(C);
while C/='s' and C/='S' and
while C/=Caracter_Confirmacion_May and C/=Caracter_Confirmacion_Min and
C/=Esc loop
Coger_Caracter(C);
end loop;
Expand Down
23 changes: 10 additions & 13 deletions src/adastegano-preguntar-descifrar.adb
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
with Ada.Text_Io;
use Ada.Text_Io;

with Adastegano_Menu,Pantalla,d_xtras;
use Adastegano_Menu,Pantalla,d_xtras;
with Adastegano_Menu,Pantalla,D_Xtras;
use Adastegano_Menu,Pantalla,D_Xtras;

separate(Adastegano.Preguntar)

Expand Down Expand Up @@ -35,7 +35,7 @@ begin
Continuar:=True;
Limpiar_Pantalla;
Adastegano_Menu.Menu_Descifrado_Metodo;
elsif not Comprobar_ruta (Origen(1..Ind_Orig)) then
elsif not Comprobar_Ruta (Origen(1..Ind_Orig)) then
Limpiar_Pantalla;
Adastegano_Menu.Error_Ruta_Invalida;
Limpiar_Pantalla;
Expand Down Expand Up @@ -87,7 +87,7 @@ begin
if Ind_Clave2<
Longitud_Maxima_Clave and
C/=Back then
Put("***");
Put(String_Contraseña);
Ind_Clave2:=Ind_Clave2+1;
Clave2(Ind_Clave2):=C;
end if;
Expand All @@ -106,21 +106,18 @@ begin
Adastegano_Menu.Menu_Descifrado_Clave;
elsif C=Intro then

-- Fin por fin!
-- Muestra un resumen
if Clave(1..Ind_Clave)=
Clave2(1..Ind_Clave2) then
Limpiar_Pantalla;
Menu_Descifrado_Confirmacion_Datos;
Put_Line("Metodo: " &
Metodo'Img);
Put_Line("Ruta origen: " &
Origen(1..Ind_Orig));

Put_Line(
"Clave: Confirmada" );
Confirmacion_Datos_Metodo(T_Metodo'Image(Metodo));
Confirmacion_Datos_Origen(Origen(1..Ind_Orig));
Confirmacion_Datos_Clave(Mensaje_Confirmacion_Contraseña);
New_Line(7);
Coger_Caracter(C);
while C/='s' and C/='S' and
while C/=Caracter_Confirmacion_Min and
C/=Caracter_Confirmacion_May and
C/=Esc loop
Coger_Caracter(C);
end loop;
Expand Down
24 changes: 18 additions & 6 deletions src/adastegano-preguntar.adb
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ begin
Coger_Caracter(C);
if C=Esc or C='0' then
raise Salir;
elsif C='c' or C='C' or C='1' then -- Cifrar/Metodo
elsif C=Caracter_Cifrado_Num or
C=Caracter_Cifrado_Min or
C=Caracter_Cifrado_May then -- Cifrar/Metodo
Limpiar_Pantalla;
Adastegano_Menu.Menu_Cifrado_Metodo;
while not Continuar loop
Expand All @@ -51,17 +53,23 @@ begin
Continuar:=True;
Limpiar_Pantalla;
Adastegano_Menu.Menu_Principal;
elsif C='c' or C='C' or C='1' then
elsif C=Caracter_Cesar_Num or
C=Caracter_Cesar_Min or
C=Caracter_Cesar_May then
-- Cifrar/Cesar/
Cifrar(Cesar);
elsif C='s' or C='S' or C='2' then
elsif C=Caracter_Serpent_Num or
C=Caracter_Serpent_Min or
C=Caracter_Serpent_May then
-- Cifrar/Serpent/
Cifrar(Serpent);
end if;
end loop;
Continuar:=False;

elsif C='d' or C='D' or C='2' then -- Descifrar/Metodo
elsif C=Caracter_Descifrado_Num or
C=Caracter_Descifrado_May or
C=Caracter_Descifrado_min then -- Descifrar/Metodo
Limpiar_Pantalla;
Adastegano_Menu.Menu_Descifrado_Metodo;
while not Continuar loop
Expand All @@ -70,10 +78,14 @@ begin
Continuar:=True;
Limpiar_Pantalla;
Adastegano_Menu.Menu_Principal;
elsif C='c' or C='C' or C='1' then
elsif C=Caracter_Cesar_Num or
C=Caracter_Cesar_Min or
C=Caracter_Cesar_May then
-- Cifrar/Cesar/
Descifrar(Cesar);
elsif C='s' or C='S' or C='2' then
elsif C=Caracter_Serpent_Num or
C=Caracter_Serpent_Min or
C=Caracter_Serpent_May then
-- Cifrar/Serpent/
Descifrar(Serpent);
end if;
Expand Down
65 changes: 36 additions & 29 deletions src/adastegano.adb
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,18 @@ with Ada.Command_Line;

procedure Adastegano is

-- Listado de los distintos argumentos
Ayuda,
Metodo_Serpent,
Metodo_Cesar,
Cifrar,
Descifrar : Smart_Arguments.Argument_Type;

-- Muestra la ayuda
procedure P_Ayuda is
separate;

-- Realiza el cifrado y ocultación
procedure P_Cifrar (
Ruta_Origen : String;
Ruta_Destino : String;
Expand All @@ -38,9 +41,11 @@ procedure Adastegano is
Clave : String ) is
separate;

-- Obtiene los argumentos de su ejecución
procedure Cifrarxcomando is
separate;

-- Realiza el descifrado
procedure P_Descifrar (
Ruta_Origen : String;
Metodo : T_Metodo;
Expand All @@ -49,52 +54,54 @@ procedure Adastegano is
Ruta_Alternativa : String := "" ) is
separate;

-- Obtiene los argumentos de su ejecución
procedure Descifrarxcomando is
separate;

-- Inicia el asistente
procedure Preguntar is
separate;


begin
Create_Argument(
Argument => Ayuda,
Short_Form => "-h",
Long_Form => "help",
Required => False,
Description => "Muestra la ayuda en pantalla");
Argument => Ayuda,
Short_Form => Ayuda_Short_Form,
Long_Form => Ayuda_Long_Form,
Required => False,
Description => Ayuda_Description);

Create_Argument(
Argument => Metodo_Serpent,
Short_Form => "-s",
Long_Form => "serpent",
Required => False,
Number_Required_Subargs => 0,
Description => "Encripta/desencripta con el metodo Serpent");
Argument => Metodo_Serpent,
Short_Form => Serpent_Short_Form,
Long_Form => Serpent_Long_Form,
Required => False,
Number_Required_Subargs => 0,
Description => Serpent_Description);

Create_Argument(
Argument => Metodo_Cesar,
Short_Form => "-c",
Long_Form => "cesar",
Required => False,
Number_Required_Subargs => 0,
Description => "Encripta/desencripta con el metodo Cesar");
Argument => Metodo_Cesar,
Short_Form => Cesar_Short_Form,
Long_Form => Cesar_Long_Form,
Required => False,
Number_Required_Subargs => 0,
Description => Cesar_Description);

Create_Argument(
Argument => Cifrar,
Short_Form => "-C",
Long_Form => "cifrar",
Required => False,
Number_Required_Subargs => 4,
Description => "Cifrar un archivo dentro de otro");
Argument => Cifrar,
Short_Form => Cifrar_Short_Form,
Long_Form => Cifrar_Long_Form,
Required => False,
Number_Required_Subargs => 4,
Description => Cifrar_Description);

Create_Argument(
Argument => Descifrar,
Short_Form => "-D",
Long_Form => "descifrar",
Required => False,
Number_Required_Subargs => 3,
Description => "Descifra un archivo contenido dentro de otro");
Argument => Descifrar,
Short_Form => Descifrar_Short_Form,
Long_Form => Descifrar_Long_Form,
Required => False,
Number_Required_Subargs => 3,
Description => Descifrar_Description);


if Smart_Arguments.Argument_Present(Ayuda) then
Expand Down
31 changes: 31 additions & 0 deletions src/adastegano_menu.adb
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,37 @@ package body Adastegano_Menu is
end Menu_Descifrado_Confirmacion_Datos ;


-- Confirmacion datos

procedure Confirmacion_Datos_Metodo (
S : String ) is
begin
Put_Line("Metodo: " & S);
end Confirmacion_Datos_Metodo;

procedure Confirmacion_Datos_Origen (
S : String ) is
begin
Put_Line("Ruta origen: " & S);
end Confirmacion_Datos_Origen;

procedure Confirmacion_Datos_Destino (
S : String ) is
begin
Put_Line("Ruta destino: " & S);
end Confirmacion_Datos_Destino;

procedure Confirmacion_Datos_Copia (
S : String ) is
begin
Put_Line("Ruta copia: " & S);
end Confirmacion_Datos_Copia;

procedure Confirmacion_Datos_Clave (
S : String ) is
begin
Put_Line("Clave: " & S );
end Confirmacion_Datos_Clave;

-------------------------------------------------------
procedure Error_Ruta_Invalida is
Expand Down
Loading

0 comments on commit 84015f0

Please sign in to comment.