Mensaje    Asunto: Ecnriptacion Metodo Papiro Responder citando

Este es el codigo hecho en Builder para poder encriptar cualquier archivo de texto usando el metodo de PAPIRO.

/********************************************************/
/* Este es el Programa de Cifrado y Desifrado del Metodo*/
/* PAPIRO */
/* SNAKE + + CRAST STUDIOS */
/********************************************************/

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <string.h>
#include "Papiro.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TPapiroForm *PapiroForm;
FILE *archivo,*fpt2;
String cadena,cadcif,cifrado;
char ccif,car;
int i,j,x,y,z,cont;
//---------------------------------------------------------------------------
__fastcall TPapiroForm::TPapiroForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TPapiroForm::Button1Click(TObject *Sender)
{
if (OpenDialog1->Execute())
OpenDialog1->FileName;
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
archivo=fopen(OpenDialog1->FileName.c_str(),"r+w");
BitBtn2->Enabled=True;
}
//---------------------------------------------------------------------------
void __fastcall TPapiroForm::Button2Click(TObject *Sender)
{
Memo1->Lines->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TPapiroForm::Button5Click(TObject *Sender)
{
Memo1->Lines->Clear();
}
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
void __fastcall TPapiroForm::Button6Click(TObject *Sender)
{
//*******************************************************
cadena=Memo1->Lines->GetText();
y=cadena.Length()/x;
z=cadena.Length();
j=(cadena.Length()%x);
if(j!=0)
{
j=y*x;
j=cadena.Length()-j;
j=x-j;
j=cadena.Length()+j;
for(i=z;i<j;i++)
cadena=cadena + " ";
}
//*******************************************************
//******************* DECIFRANDO **************************

cadcif="";
for(i=0;i<=x-1;i++)
{
cont=i;
for(j=1;j<=y;j++)
{
cadcif=cadcif+cadena[j+cont];
cont=cont+x-1;
}
}
Memo2->Lines->Add(cadcif);
Button4->Enabled=True;

//*******************************************************
//*******************************************************

}
//---------------------------------------------------------------------------
void __fastcall TPapiroForm::BitBtn1Click(TObject *Sender)
{
x=StrToInt(Edit1->Text);
Button3->Enabled=True;
}
//---------------------------------------------------------------------------
void __fastcall TPapiroForm::BitBtn2Click(TObject *Sender)
{
x=StrToInt(Edit2->Text);
Button6->Enabled=True;
}
//---------------------------------------------------------------------------
void __fastcall TPapiroForm::Button3Click(TObject *Sender)
{
//*******************************************************
cadena=Memo1->Lines->GetText();
y=cadena.Length()/x;
z=cadena.Length();
j=(cadena.Length()%x);
if(j!=0)
{
j=y*x;
j=cadena.Length()-j;
j=x-j;
j=cadena.Length()+j;
for(i=z;i<j;i++)
cadena=cadena + " ";
}
//*******************************************************
//******************* CIFRANDO **************************

cadcif="";
for(i=0;i<=y-1;i++)
{
cont=i;
for(j=1;j<=x;j++)
{
cadcif=cadcif+cadena[j+cont];
cont=cont+x+1;
}
}
Memo2->Lines->Add(cadcif);
Button4->Enabled=True;

//*******************************************************
//*******************************************************

}
//---------------------------------------------------------------------------
void __fastcall TPapiroForm::Button4Click(TObject *Sender)
{
if (SaveDialog1->Execute())
cadena=" ";
fpt2 = fopen(SaveDialog1->FileName.c_str(),"w+");
for(i=1;i<=cadcif.Length();i++)
{
fputc(cadcif[i],fpt2);
}
fclose(fpt2);

}
//---------------------------------------------------------------------------


En poco tiempo subire mas metodos.

Espero le sirva a alguien
_________________
I.S.C. Joel Salinas Alvarado
Linux User:454009
the human knowledge belong to the world
"Hoy el Universo Debian es mas GRANDE"
Zacatecas, Mexico.