Sie sind auf Seite 1von 20

Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?

name=News&file=print&sid=485

Encriptar y desencriptar ficheros con CAPICOM y Delphi


Fecha Lunes, 06 septiembre a las 12:10:27
Tema Seguridad Informtica

Explicamos en este artculo cmo encriptar y desencriptar ficheros mediante los algoritmos RC2, RC4, DES,
3DES y AES. Mostramos y explicamos el cdigo fuente de la aplicacin AjpdSoft Encriptar ficheros con
CAPICOM. Explicamos qu es CAPICOM y cmo descargarlo y registrarlo. Mostramos cmo usar CAPICOM
con Borland Delphi.

Qu es CAPICOM, para qu sirve.


Descarga e instalacin de Microsoft CAPICOM SDK.
Registro de la librera capicom.dll en Windows 7.
Cmo usar CAPICOM en Delphi para encriptar y desencriptar ficheros.
La aplicacin AjpdSoft Encriptar ficheros con CAPICOM en funcionamiento.
Anexo.
Cdigo fuente source code aplicacin AjpdSoft Encriptar ficheros con CAPICOM.
Artculos relacionados.
Crditos.

Qu es CAPICOM, para qu sirve


CAPICOM es un control ActiveX o una librera (segn el caso) de Microsoft que proporciona una interfaz
COM para Microsoft CryptoAPI (tambin llamada Cryptographic Application Programming Interface,
Microsoft Cryptography API, CAPI). CAPICOM permite usar un conjunto de funciones de CryptoAPI para
permitir a los desarrolladores de aplicaciones incorporar de forma sencilla la funcionalidad de firma digital y
encriptacin en sus aplicaciones. Debido a que utiliza COM, los desarrolladores de aplicaciones pueden acceder
a esta funcionalidad en una serie de entornos de programacin tales como Microsoft Visual Basic, Visual Basic
Script, Active Server Pages (ASP), Microsoft JScript, C + +, Delphi, Java, PHP y otros.

CAPICOM se puede empaquetar como un control ActiveX, para ser instalado en los navegadores y permitir a los
desarrolladores Web utilizarla en aplicaciones basadas en Web (ASP, PHP, etc.). Adems, CAPICOM cuenta con
un SDK (kit de desarrollo de software o Software Development Kit) con las libreras necesarias para que sea
usado por lenguajes de programacin para desarrollar aplicaciones de escritorio (Delphi, Visual Basic .Net,
Visual Basic, etc.).

De esta forma, con CAPICOM podremos implementar la utilidad de uso de certificados digitales en nuestras
aplicaciones casi sin esfuerzo, pues todas las funciones necerias para el acceso a estos certificados ya estn

1 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

implementadas y listas para ser usadas.

Descarga e instalacin de Microsoft CAPICOM SDK


En primer lugar deberemos descargar e instalar el SDK de CAPICOM (Platform SDK Redistributable:
CAPICOM), disponible gratuitamente en:

http://www.microsoft.com/downloads/details.aspx?FamilyID=860ee43a-a843-462f-abb5-
ff88ea5896f6&DisplayLang=es

Instalaremos CAPICOM SDK ejecutando el fichero descargado capicom_dc_sdk.msi, se iniciar el asistente de


instalacin de CAPICOM 2.1.0.2 SDK, pulsaremos "Next":

Leeremos los trminos de licencia, si estamos de acuerdo marcaremos "I accept the terms in the License
Agreement" y pulsaremos "Next":

2 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

Indicaremos en "Location" la carpeta de destino de CAPICOM SDK (pulsando "Browse" podremos cambiarla),
pulsaremos "Next" para continuar:

Pulsaremos "Install" para iniciar la instalacin definitiva de CAPICOM SDK:

3 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

Una vez finalizada la instalacin, pulsaremos "Finish":

En realidad, la instalacin de CAPICOM 2.1.0.2 SDK lo nico que hace es descomprimir una carpeta en la
carpeta de destino con los siguientes ficheros y subcarpetas:

4 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

La carpeta que ms nos interesa es "Lib" que contiene la librera "capicom.dll" necesaria para el funcionamiento
de nuestra aplicacin. Esta librera deber estar en la carpeta del sistema, en C:WindowsSystem32 y
correctamente registrada con "regsvr32.exe" o AjpdSoft Registro de OCX y DLL como explicamos aqu.

Registro de la librera capicom.dll en Windows 7


Una vez descargado e instalado el software CAPICOM SDK copiaremos el fichero "capicom.dll" ubicado en la

5 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

carpeta de instalacin de CAPICOM, en la subcarpeta "LibX86":

Lo pegaremos en la carpeta del sistema (system32):

A continuacin registraremos la librera capicom.dll o bien usando regsvr32.exe o bien utilizando AjpdSoft
Registro de OCX y DLL, abriremos AjpdSoft Registro de OCX y DLL ejecutando el fichero "registroOCX.exe"
en modo administrador, pulsando con el botn derecho sobre el fichero descargado y seleccionando "Ejecutar
como administrador":

6 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

Pulsaremos el botn "<<" para seleccionar el fichero capicom.dll:

7 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

En "Tipo" seleccionaremos "DLL (*.dll)", buscaremos el fichero "capicom.dll" en la carpeta System32 de


Windows y pulsaremos "Abrir":

Pulsaremos en "Registrar":

Si todo es correcto mostrar un mensaje como este:

Con el texto:

El proceso de registro ha finalizado con el siguiente resultado:

8 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

Registrados: 1.
No registrados: 0

Nota: si tenemos activado el control de cuentas de usuario (UAC) de Windows 7, es posible que nos muestre
algn mensaje de confirmacin al que tendremos que respondier "S".

Cmo usar CAPICOM en Delphi para encriptar y desencriptar


ficheros
Para encriptar y desencriptar ficheros mediante el lenguaje de programacin Delphi y la herramienta de
Microsoft CAPICOM necesitaremos la librera capicom.dll correctamente registrada y el fichero
CAPICOM_TLB.pas que podremos descargar del ejemplo de este artculo:

AjpdSoft Encriptar ficheros con CAPICOM

Abriremos Delphi, crearemos un nuevo proyecto, aadiremos algunos componentes al formulario principal:
algunos TEdit, TButton, etc. El formulario quedar de la siguiente forma:

9 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

Aadiremos el siguiente cdigo:

Para el botn "Encriptar":


procedure TForm1.btEncriptarClick(Sender: TObject);
begin
if txtAlgoritmoEncriptacion.Text = 'RC2' then
algoritmo := CAPICOM_ENCRYPTION_ALGORITHM_RC2
else
if txtAlgoritmoEncriptacion.Text = 'RC4' then
algoritmo := CAPICOM_ENCRYPTION_ALGORITHM_RC4
else
if txtAlgoritmoEncriptacion.Text = 'DES' then
algoritmo := CAPICOM_ENCRYPTION_ALGORITHM_DES
else
if txtAlgoritmoEncriptacion.Text = '3DES' then
algoritmo := CAPICOM_ENCRYPTION_ALGORITHM_3DES
else
if txtAlgoritmoEncriptacion.Text = 'AES' then
algoritmo := CAPICOM_ENCRYPTION_ALGORITHM_AES;

if txtTamanoDatosEncriptar.Text = '256 bits' then


tamanoDatosAlgoritmo := CAPICOM_ENCRYPTION_KEY_LENGTH_256_BITS
else
if txtTamanoDatosEncriptar.Text = '192 bits' then
tamanoDatosAlgoritmo := CAPICOM_ENCRYPTION_KEY_LENGTH_192_BITS
else
if txtTamanoDatosEncriptar.Text = '128 bits' then
tamanoDatosAlgoritmo := CAPICOM_ENCRYPTION_KEY_LENGTH_128_BITS
else
if txtTamanoDatosEncriptar.Text = '56 bits' then
tamanoDatosAlgoritmo := CAPICOM_ENCRYPTION_KEY_LENGTH_56_BITS
else
if txtTamanoDatosEncriptar.Text = '40 bits' then
tamanoDatosAlgoritmo := CAPICOM_ENCRYPTION_KEY_LENGTH_40_BITS;

encriptar(txtContrasena.Text, txtFicheroEncriptar.Text,
txtFicheroDestinoEncriptado.Text);
end;

Para el botn "Desencriptar":

procedure TForm1.btDesencriptarClick(Sender: TObject);


begin
desencriptar (txtContrasenaDesencriptar.Text, txtFicheroDesencriptar.Text,
txtFicheroDestinoDesencriptado.Text);
end;

El procedimiento "desencriptar":
procedure desencriptar (contrasena : string; ficheroDesencriptar : string;
ficheroDestino : string);
var
EncryptedData: IEncryptedData;
Buffer: WideString;
FileStm: TFileStream;
begin
//Crear objeto EncryptedData
EncryptedData := CoEncryptedData.Create;
//Establecemos la contrasea
EncryptedData.SetSecret(contrasena, CAPICOM_SECRET_PASSWORD);
//Cargamos el fichero a desencriptar
FileStm := TFileStream.Create(ficheroDesencriptar,

10 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

fmOpenRead or fmShareDenyWrite);
try
pointer(Buffer):= SysAllocStringByteLen(nil, FileStm.Size);
FileStm.ReadBuffer(Pointer(Buffer)^, FileStm.Size);
finally
FileStm.Free;
end;
//Desencriptamos el fichero en memoria
EncryptedData.Decrypt(Buffer);
Buffer := EncryptedData.Content;
//Guardamos el fichero desencriptado en memoria en el fichero destino
FileStm:= TFileStream.Create(ficheroDestino, fmCreate or fmShareDenyWrite);
try
FileStm.WriteBuffer(Pointer(Buffer)^, SysStringByteLen(PWideChar(Buffer)));
finally
FileStm.Free;
end;
MessageDlg('Fichero desencriptado.', mtInformation, [mbok], 0);
end;

El procedimiento "encriptar":

procedure encriptar (contrasena : string; ficheroEncriptar : string;


ficheroDestino : string);
var
EncryptedData: IEncryptedData;
Buffer: WideString;
FileStm: TFileStream;
begin
//rear objeto EncryptedData
EncryptedData := CoEncryptedData.Create;
// Indicamos el algoritmo de encriptacin a usar
EncryptedData.Algorithm.Name := algoritmo;
//Establecemos el tamao del algoritmo de encriptacin
EncryptedData.Algorithm.KeyLength := tamanoDatosAlgoritmo;
//Establecemos la contrasea
EncryptedData.SetSecret(contrasena, CAPICOM_SECRET_PASSWORD);

FileStm := TFileStream.Create(ficheroEncriptar,
fmOpenRead or fmShareDenyWrite);
try
Pointer(Buffer):= SysAllocStringByteLen (nil, FileStm.Size);
FileStm.ReadBuffer(Pointer(Buffer)^, FileStm.Size);
EncryptedData.Content:= Buffer;
finally
FileStm.Free;
end;
//Encriptar fichero
Buffer:= EncryptedData.Encrypt(CAPICOM_ENCODE_BINARY);
//Guardar fichero encritado en fichero destino
FileStm := TFileStream.Create(ficheroDestino, fmCreate or fmShareDenyWrite);
try
FileStm.WriteBuffer(Pointer(Buffer)^, SysStringByteLen(PWideChar(Buffer)));
finally
FileStm.Free;
end;
MessageDlg('Fichero encriptado.', mtInformation, [mbok], 0);
end;

11 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

El cdigo fuente completo de la aplicacin puede verse aqu.

La aplicacin AjpdSoft Encriptar ficheros con CAPICOM en


funcionamiento
Para probar la aplicacin crearemos un fichero cualquiera con un texto, por jemplo "Prueba de encriptacin de
fichero por AjpdSoft". Crearemos este fichero de texto plano y lo guardaremos. A continuacin ejecutaremos el
fichero encriptarFicheros.exe (no necesita instalacin pero s necesita la DLL capicom.dll en el sistema
correctamente registrada como explicamos aqu).

Para encriptar un fichero, en primer lugar, lo seleccionaremos pulsando el botn "..." (o bien escribiremos la ruta
y nombre en "Fichero a Encriptar"):

Seleccionaremos el fichero, en nuestro caso "prueba.txt":

12 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

La aplicacin establecer como fichero de destino encriptado el seleccionado, aadiendo el texto


"ENCRIPTADO" al principio, si no se indica otro fichero de destino, ser en ste donde se guarde el fichero
origen encriptado. En "Contrasea" introduciremos la contrasea para la encriptacin que ser necesaria para la
desencriptacin posterior, sin esta contrasea no ser posible desencriptar el fichero. En "Algoritmo"
seleccionaremos el algoritmo de encriptacin, seleccionaremos el Tamao y pulsaremos "Encriptar":

Si la encriptacin ha sido correcta mostrar el mensaje:

13 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

Con el texto: "Fichero encriptado".

Si accedemos a la carpeta de destino, podremos ver el fichero encriptado creado por la aplicacin:

Si intentamos abrirlo veremos caracteres ilegibles, por lo que el proceso de encriptacin se ha realizado
correctamente:

Para desencriptar un fichero, el proceso es similar, pero en "Desencriptar fichero", aunque para este proceso no
es necesario indicar el algoritmo de encriptacin previo. Para desencriptar el fichero lo seleccionaremos pulsando
en el botn "..." de "Fichero a desencriptar", en "Contrasea" introduciremos la contrasea con la que lo
encriptamos y pulsaremos el botn "Desencriptar":

14 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

Si todo es correcto mostrar el mensaje:

Con el texto: "Fichero desencriptado".

Si abrimos el fichero desencriptado, podremos ver que el texto ya es legible nuevamente "Prueba de encriptacin
de fichero por AjpdSoft":

15 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

Por supuesto, en el ejemplo hemos encriptado y desencriptado un fichero de texto plano, pero AjpdSoft Encriptar
ficheros con CAPICOM se puede usar para encriptar y desencriptar cualquier tipo de fichero (mp3, txt, doc, xls,
mdb, rar, zip, jpg, pdf, html, tif, asp, php, exe, com, bat, etc.).

Anexo
Cdigo fuente source code aplicacin AjpdSoft Encriptar ficheros con CAPICOM

A continuacin os mostramos el cdigo fuente (source code) completo en Borland Delphi 6 de la aplicacin
AjpdSoft Encriptar ficheros con CAPICOM:
unit UnidadMenuPrincipal;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, shellapi, activex, CAPICOM_TLB, Buttons, ComCtrls;

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
txtContrasena: TEdit;
txtFicheroEncriptar: TEdit;
Label2: TLabel;
txtFicheroDestinoEncriptado: TEdit;
Label3: TLabel;
txtAlgoritmoEncriptacion: TComboBox;
Label4: TLabel;
LWEB: TLabel;
GroupBox2: TGroupBox;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
txtContrasenaDesencriptar: TEdit;
txtFicheroDesencriptar: TEdit;
txtFicheroDestinoDesencriptado: TEdit;
btEncriptar: TBitBtn;
btDesencriptar: TBitBtn;
btSelFicEncriptar: TBitBtn;
BitBtn1: TBitBtn;
bSelFicDes: TBitBtn;
BitBtn3: TBitBtn;
dlAbrir: TOpenDialog;
txtTamanoDatosEncriptar: TComboBox;
Label9: TLabel;
btSalir: TBitBtn;
StatusBar1: TStatusBar;
procedure LWEBClick(Sender: TObject);
procedure btEncriptarClick(Sender: TObject);
procedure btDesencriptarClick(Sender: TObject);
procedure btSelFicEncriptarClick(Sender: TObject);
procedure txtFicheroEncriptarChange(Sender: TObject);
procedure bSelFicDesClick(Sender: TObject);
procedure txtFicheroDesencriptarChange(Sender: TObject);
procedure btSalirClick(Sender: TObject);
private
{ Private declarations }

16 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

var
algoritmo: CAPICOM_ENCRYPTION_ALGORITHM = CAPICOM_ENCRYPTION_ALGORITHM_RC2;
tamanoDatosAlgoritmo: CAPICOM_ENCRYPTION_KEY_LENGTH =
CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM;

procedure encriptar (contrasena : string; ficheroEncriptar : string;


ficheroDestino : string);
var
EncryptedData: IEncryptedData;
Buffer: WideString;
FileStm: TFileStream;
begin
//rear objeto EncryptedData
EncryptedData := CoEncryptedData.Create;
// Indicamos el algoritmo de encriptacin a usar
EncryptedData.Algorithm.Name := algoritmo;
//Establecemos el tamao del algoritmo de encriptacin
EncryptedData.Algorithm.KeyLength := tamanoDatosAlgoritmo;
//Establecemos la contrasea
EncryptedData.SetSecret(contrasena, CAPICOM_SECRET_PASSWORD);

FileStm := TFileStream.Create(ficheroEncriptar,
fmOpenRead or fmShareDenyWrite);
try
Pointer(Buffer):= SysAllocStringByteLen (nil, FileStm.Size);
FileStm.ReadBuffer(Pointer(Buffer)^, FileStm.Size);
EncryptedData.Content:= Buffer;
finally
FileStm.Free;
end;
//Encriptar fichero
Buffer:= EncryptedData.Encrypt(CAPICOM_ENCODE_BINARY);
//Guardar fichero encritado en fichero destino
FileStm := TFileStream.Create(ficheroDestino, fmCreate or fmShareDenyWrite);
try
FileStm.WriteBuffer(Pointer(Buffer)^, SysStringByteLen(PWideChar(Buffer)));
finally
FileStm.Free;
end;
MessageDlg('Fichero encriptado.', mtInformation, [mbok], 0);
end;

procedure desencriptar (contrasena : string; ficheroDesencriptar : string;


ficheroDestino : string);
var
EncryptedData: IEncryptedData;
Buffer: WideString;
FileStm: TFileStream;
begin
//Crear objeto EncryptedData
EncryptedData := CoEncryptedData.Create;
//Establecemos la contrasea

17 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

EncryptedData.SetSecret(contrasena, CAPICOM_SECRET_PASSWORD);
//Cargamos el fichero a desencriptar
FileStm := TFileStream.Create(ficheroDesencriptar,
fmOpenRead or fmShareDenyWrite);
try
pointer(Buffer):= SysAllocStringByteLen(nil, FileStm.Size);
FileStm.ReadBuffer(Pointer(Buffer)^, FileStm.Size);
finally
FileStm.Free;
end;
//Desencriptamos el fichero en memoria
EncryptedData.Decrypt(Buffer);
Buffer := EncryptedData.Content;
//Guardamos el fichero desencriptado en memoria en el fichero destino
FileStm:= TFileStream.Create(ficheroDestino, fmCreate or fmShareDenyWrite);
try
FileStm.WriteBuffer(Pointer(Buffer)^, SysStringByteLen(PWideChar(Buffer)));

finally
FileStm.Free;
end;
MessageDlg('Fichero desencriptado.', mtInformation, [mbok], 0);
end;

procedure TForm1.LWEBClick(Sender: TObject);


begin
ShellExecute(Handle, Nil, PChar('http://www.ajpdsoft.com'),
Nil, Nil, SW_SHOWNORMAL);
end;

procedure TForm1.btEncriptarClick(Sender: TObject);


begin
if txtAlgoritmoEncriptacion.Text = 'RC2' then
algoritmo := CAPICOM_ENCRYPTION_ALGORITHM_RC2
else
if txtAlgoritmoEncriptacion.Text = 'RC4' then
algoritmo := CAPICOM_ENCRYPTION_ALGORITHM_RC4
else
if txtAlgoritmoEncriptacion.Text = 'DES' then
algoritmo := CAPICOM_ENCRYPTION_ALGORITHM_DES
else
if txtAlgoritmoEncriptacion.Text = '3DES' then
algoritmo := CAPICOM_ENCRYPTION_ALGORITHM_3DES
else
if txtAlgoritmoEncriptacion.Text = 'AES' then
algoritmo := CAPICOM_ENCRYPTION_ALGORITHM_AES;

if txtTamanoDatosEncriptar.Text = '256 bits' then


tamanoDatosAlgoritmo := CAPICOM_ENCRYPTION_KEY_LENGTH_256_BITS
else
if txtTamanoDatosEncriptar.Text = '192 bits' then
tamanoDatosAlgoritmo := CAPICOM_ENCRYPTION_KEY_LENGTH_192_BITS
else
if txtTamanoDatosEncriptar.Text = '128 bits' then
tamanoDatosAlgoritmo := CAPICOM_ENCRYPTION_KEY_LENGTH_128_BITS
else
if txtTamanoDatosEncriptar.Text = '56 bits' then
tamanoDatosAlgoritmo := CAPICOM_ENCRYPTION_KEY_LENGTH_56_BITS
else
if txtTamanoDatosEncriptar.Text = '40 bits' then
tamanoDatosAlgoritmo := CAPICOM_ENCRYPTION_KEY_LENGTH_40_BITS;

encriptar(txtContrasena.Text, txtFicheroEncriptar.Text,
txtFicheroDestinoEncriptado.Text);
end;

18 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

procedure TForm1.btDesencriptarClick(Sender: TObject);


begin
desencriptar (txtContrasenaDesencriptar.Text, txtFicheroDesencriptar.Text,
txtFicheroDestinoDesencriptado.Text);
end;

procedure TForm1.btSelFicEncriptarClick(Sender: TObject);


begin
dlAbrir.Title := 'Seleccione el fichero a encriptar';
if dlAbrir.Execute then
txtFicheroEncriptar.Text := dlAbrir.FileName;
end;

procedure TForm1.txtFicheroEncriptarChange(Sender: TObject);


begin
if FileExists (txtFicheroEncriptar.Text) then
begin
txtFicheroDestinoEncriptado.Text :=
IncludeTrailingPathDelimiter (ExtractFilePath(txtFicheroEncriptar.Text))
+ 'ENCRIPTADO--' + ExtractFileName (txtFicheroEncriptar.Text);
end;
end;

procedure TForm1.bSelFicDesClick(Sender: TObject);


begin
dlAbrir.Title := 'Seleccione el fichero a desencriptar';
if dlAbrir.Execute then
txtFicheroDesencriptar.Text := dlAbrir.FileName;
end;

procedure TForm1.txtFicheroDesencriptarChange(Sender: TObject);


begin
if FileExists (txtFicheroDesencriptar.Text) then
begin
txtFicheroDestinoDesencriptado.Text :=
IncludeTrailingPathDelimiter (ExtractFilePath(txtFicheroDesencriptar.Text))
+ 'DESENCRIPTADO--' + ExtractFileName (txtFicheroDesencriptar.Text);
end;
end;

procedure TForm1.btSalirClick(Sender: TObject);


begin
Close;
end;

end.

Artculos relacionados
Uso de CAPICOM y Delphi para acceso a los certificados digitales.
AjpdSoft Obtener datos certificados digitales.
Cmo firmar digitalmente una factura - facturacin telemtica mediante Delphi.
El spam, esa gran lacra de las comunicaciones actuales.
Nemesys de Telefnica qu es? Las listas negras, Spamhaus, cmo salir de ellas.
Instalacin de Microsoft Windows 7 Ultimate virtualizado en VMware Server 2.0.1.
AjpdSoft Notificador cambios en sistema.
AjpdSoft Clculo CRC.

19 de 20 10/7/17 1:41
Encriptar y desencriptar ficheros con CAPICOM y Delphi Imprimible P... http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=485

AjpdSoft Ping ICMP.


AjpdSoft Test de Velocidad.
AjpdSoft Hash.
AjpdSoft Cifrar Texto.
AjpdSoft Encriptar Desencriptar ficheros.
AjpdSoft Test Altavoz placa base.
AjpdSoft Registro de OCX y DLL.
AjpdSoft Configuracin Proxy.
AjpdSoft Servidor Proxy.
AjpdSoft Abrir Puertos Cortafuegos Windows.
AjpdSoft Escaneador de puertos.
AjpdSoft Ejecutar comando MS-DOS y capturar la salida.
Metodologa para resolver problemas de ingeniera con Delphi, interpolacin.
Cdigo fuente gratuito de aplicaciones completas en Delphi y Visual Basic.
Cmo se hizo ''Aviso Cambio IP Pblica'' mediante Delphi, php y MySQL.
Foro del Proyecto AjpdSoft sobre las aplicaciones de AjpdSoft (dudas, errores, sugerencias).

Crditos
Artculo realizado ntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

Este artculo proviene de Proyecto AjpdSoft


http://www.ajpdsoft.com

La direccin de esta noticia es:


http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=485

20 de 20 10/7/17 1:41

Das könnte Ihnen auch gefallen