Bonjour,
J'ai téléchargé dcpcrypt2, qui permet de crypter en SHA-1.
Mais je ne vois pas comment faire !!!!
Je veux crypter une zone de text (un mot de passe)
J'ai beau chercher, l'aide n'est pas super bonne (en tout cas pour mon cas)
Merci d'avance
Bonjour,
J'ai téléchargé dcpcrypt2, qui permet de crypter en SHA-1.
Mais je ne vois pas comment faire !!!!
Je veux crypter une zone de text (un mot de passe)
J'ai beau chercher, l'aide n'est pas super bonne (en tout cas pour mon cas)
Merci d'avance
Regarde cet exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 procedure TForm1.Button1Click(Sender: TObject); var Hash: TDCP_ripemd160; Digest: array[0..19] of byte; // RipeMD-160 produces a 160bit digest (20bytes) Source: TFileStream; i: integer; s: string; begin Source:= nil; try Source:= TFileStream.Create(Edit1.Text,fmOpenRead); // open the file specified by Edit1 except MessageDlg('Unable to open file',mtError,[mbOK],0); end; if Source <> nil then begin Hash:= TDCP_ripemd160.Create(Self); // create the hash Hash.Init; // initialize it Hash.UpdateStream(Source,Source.Size); // hash the stream contents Hash.Final(Digest); // produce the digest Source.Free; s:= ''; for i:= 0 to 19 do s:= s + IntToHex(Digest[i],2); Edit2.Text:= s; // display the digest end; end;
j'utilise TDCP_rc4
J'ai vu cet exemple, mais les procédure ne sont pas les même
Moi j'ai :
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
Cipher: TDCP_rc4;
KeyStr: string;
begin
KeyStr:= '';
Cipher:= TDCP_rc4.Create(Self);
Cipher.InitStr(Memo1.text,TDCP_sha1); // initialize the cipher with a hash of the passphrase
Edit1.Text:= Cipher.DecryptString(trim(Memo1.text));
Cipher.Burn;
Cipher.Free;
end;
Mais je ne suis pas sur du résulta, car je ne sais pas encore décrypter
SHA-1 ne chiffre pas, mais crée une signature (comme md5, sha-0), ce n'est pas reversible
Oui, et si tu veux gérer une liste d'utlisateur, pour faire un teste si le mdp et le l'utilisateur sont bons, tu dois Hashé le mdp et le login pour ensuite le comparer a ton mdp deja hashé de ton fichier![]()
Il est préférable de rajouter des données supplémentaires (grain de sel ou salt) au mot de passe que tu vas hasher (par ex le login plus une chaine quelconque connue de l'appli seule) cela permet de rendre beaucoup plus difficile les attaques par dictionnaire.
okay,
merci pour tout, c'est super sympa.
Je vais essayer tout ca, l'idée de la chaine de caractère a la fin est bonne, je la garde
Si on ne peut pas décrypter le sha-1, pourquoi y a t'il une fonction encrypt ainsi qu'une fonction décrypt ???
Partager