Md5 api, le celebre algorithme de hachage sous delphi.


Description

Salut,

cette fois on passe au choses serieuses.

je vous propose donc l'API MD5, qui permet donc d'avoir accés facilement a cet algorythme
de cryptage.

L'api se decoupe en Deux fichier :

MD5Api, qui est l'unité a declarer pour utiliser les fonctions.
MD5Core, qui contient l'agorythme (a ne pas modifier sinon ... ça marche plus).

Au depart j'avais recupéré une petite unité d'un auteur dont je n'arrive plus a me souvenir,
bref, aprés quelques fortes modifications et optimisations, j'ai ensuite ajouter plusieurs
choses utiles.

L'Api contient donc :

des fonctions qui genere des clef MD5 (string) a partir de chaines de caracteres, donnée non typée,
et fichiers.
d'autre fonctions permettent de faire des convertions, comparaisons ect...

voila, et que je ne vous vois plus mettre des identifiants d'accés en clair dans des fichiers INI,
registre et bases de données, la vous n'avez plus d'excuses.

Source / Exemple :


{ Renvois la representation du MD5 d'une chaine de caracteres }
function MD5(const S : string) : string; overload;
{ Renvois la representation du MD5 d'un buffer quelquonque }
function MD5(const Buffer; const Len: integer): string; overload;
{ REnvois la representation du MD5 d'un fichier }
function MD5FromFile(const FileName : string) : string;

{ Renvois une donnée MD5 d'une chaine de caracteres }
function MD5DataFromString(const S : string) : TMD5Data;
{ Renvois une donnée MD5 d'un buffer quelquonque }
function MD5DataFromBuffer(const Buffer; const Len: integer) : TMD5Data;
{ Renvois une donnée MD5 d'un fichier }
function MD5DataFromFile(const FileName: string): TMD5Data;

{ Convertis une donnée MD5 vers une chaine de caracteres }
function MD5DataToStr(const Data : TMD5Data) : string;
{ Convertis une chaine de caracteres representant un MD5 vers une donnée MD5 } 
function MD5StrToMD5Data(const S : String) : TMD5Data;

{ Verifie la validitée d'une chaine representant un MD5 }
function MD5StrCheck(const S : string) : boolean;
{ Compare deux données MD5 }
function MD5Equal(const A, B: TMD5Data) : Boolean;
{ Compare deux données MD5 grace a CompareMem }
function MD5MemEqual(const A, B : TMD5Data) : boolean;

{ Inverse le sens des données d'une donnée MD5 }
function MD5Reverse(const Data : TMD5Data) : TMD5Data;
{ Inverse l'ordre des octets Pair et Impair d'une donnée MD5 }
function MD5OddSwap(const Data : TMD5Data) : TMD5Data;

Conclusion :


Aucuns tests de performances n'a été effectué pour le moment, mais les routines sont assé
rapide.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.