RE:Dr Juzam ayudeme mas please
El ejemplo a continuación es de la librería que puse en la respuesta anterior a esta.
La idea es la siguiente (no sé que quieres hacer en tu programa, pero espero que te oriente):
1) El usuario crea su contraseña. Por ejemplo "DrJuzam". Ésta no se almacena como "DrJuzam" en la BD, sino como el hash de "DrJuzam". Si alguien accede a la BD no verá "DrJuzam" sino el hash.
2) A partir del Hash no se puede (en teoría) reconstruir la clave. Es decir, si el hash de "DrJuzam" es 1111111113332ÑLKSOF9429, nadie podría decir que ese el hash de la cadena "DrJuzam".
3) Cuando el usuario quiera hacer login en nuestro programa, le decimos que ponga su clave y a lo que ponga le realizamos el Hash. Luego lo comparamos con el hash de nuestra BD y si son iguales, es nuestro usuario.
Para hacer el hash de una cadena usando la librería HashLib, creo que funciona esta función (hay que añadir en el uses del form las librerías!!):
function TForm1.HashSHA1 (Clave: String): WideString;
var
Ret: LongWord;
Hash: String;
begin
Ret:=HashStr(HASH_TIGER128, Clave, Hash);
if Ret=NO_ERROR then
Result:=Hash;
end;
Lo importante aquí está en la función
HashStr(HASH_TIGER128, Clave, Hash);
Los parámetros son (TipodeHash, CadenaEntrada, VariableParaHash)
Para hash MD5 sería así
HashStr(HASH_MD5, "DrJuzam", Hash);
El resultado del hash quedaría en la variable que hemos llamado Hash. La variable Ret de la función nos comprueba que no haya habdido ningún error en calcular el hash.
Suerte.