Written by xinyiman Novembre 16, 2011, 08:58:00 am21084 ViewsRating: 0 (0 Rates)Print
Chi necessita di lavorare con la crittografia troverà in Lazarus un valido alleato perchè esiste un componente chiamato DCPCrypt (http://wiki.lazarus.freepascal.org/DCPcrypt) che permette di lavorare con i più diffusi algoritmi di crittografia. Vediamo ora un esempio per capire come si usa.
{procedura che cifra una stringa} procedure TForm1.Button1Click(Sender: TObject); var i: integer; Cipher: TDCP_rc4; KeyStr: string; begin KeyStr:= ''; if InputQuery('Passphrase','Inserisci la passphrase',KeyStr) then // richiedo la passphrase per cifrare la stringa begin Cipher:= TDCP_rc4.Create(Self); Cipher.InitStr(KeyStr,TDCP_sha1); // inizializzare il cifrario con un hash della password Txt_Out.Text := Cipher.EncryptString(Txt_In.Text); //cifro il testo contenuto nella TEdit di nome Txt_In e metto il risultato nella TEdit Txt_Out Lbl_Algoritmo.Caption:= Cipher.GetAlgorithm; //visualizzo quale algoritmo ho usato in una TLabel di nome Lbl_Algoritmo Cipher.Burn; Cipher.Free; end; end;
procedure TForm1.Button2Click(Sender: TObject); var i: integer; Cipher: TDCP_rc4; KeyStr: string; begin KeyStr:= ''; if InputQuery('Passphrase','Inserisci la passphrase',KeyStr) then // richiedo la passphrase per cifrare la stringa begin Cipher:= TDCP_rc4.Create(Self); Cipher.InitStr(KeyStr,TDCP_sha1); // inizializzare il cifrario con un hash della password Txt_Out.Text := Cipher.DecryptString(Txt_In.Text); //decifro il testo contenuto nella TEdit di nome Txt_In e metto il risultato nella TEdit Txt_Out Lbl_Algoritmo.Caption:= Cipher.GetAlgorithm; //visualizzo quale algoritmo ho usato in una label di nome Lbl_Algoritmo Cipher.Burn; Cipher.Free; end; end;
xinyiman registered at Italian community of Lazarus and Free Pascal on Ottobre 14, 2011, 10:56:28 pm and has posted 3286 posts in the boards since then. Last visit was Dicembre 09, 2024, 03:52:41 pm.
Questo blog non rappresenta una testata giornalistica poiché viene
aggiornato senza alcuna periodicità. Non può pertanto considerarsi un
prodotto editoriale ai sensi della legge n. 62/2001.
Questo sito utilizza cookie, anche di terze parti, per offriti servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all’uso dei cookie.