Sto utilizzando DCPcrypt e SHA512 in stringhe di hash.DCPcrypt Hashing German Umlauts
Sto usando la versione da Warren Postma https://bitbucket.org/wpostma/dcpcrypt2010
Si sta lavorando bene. Tuttavia fallisce con dieresi tedesche come ä, ö, ü e probabilmente altri unicodi.
sto usando la biblioteca in questo modo:
function TForm1.genhash(str: string): string;
var
Hash : TDCP_sha512;
Digest: array[0..63] of byte;
i: integer;
s: string;
begin
s:= '';
hash := TDCP_sha512.Create(nil);
if hash<>nil then
begin
try
Hash.Init;
Hash.UpdateStr(str);
Hash.Final(Digest);
for i:= 0 to length(Digest)-1 do
s:= s + IntToHex(Digest[i],2);
finally
hash.free;
end;
end;
Result := s;
end;
Quando ho inserire la lettera ä
mi aspetto l'uscita di essere:
64868C5784A6004E675BCF405F549369BF607CD3269C0CAC1711E21BA9F40A5ABBF0C7535856E7CF77EA55A072DD04AA89EEA361E95F497AA965309B50587157
ho controllato con quelli siti: http://hashgenerator.de/ http://passwordsgenerator.net/sha512-hash-generator/
Tuttavia ottengo:
1A7F725BD18E062020A646D4639F264891368863160A74DF2BFC069C4DADE04E6FA854A2474166EED0914B922A9D8BE0C89858D437DDD7FBCA5C9C89FC07323A
Quindi la mia domanda è: come posso utilizzare la libreria DCPcrypt per generare hash per dieresi tedesche? Grazie
Grazie David per questa grande risposta. Apprezzo la spiegazione e sicuramente hai imparato qualcosa! – Tommy
Grande. E grazie per la domanda. È bello avere una chiara dichiarazione del problema e avere l'opportunità di scrivere finalmente ciò che mi ha tormentato per un po 'di tempo. Spero che possiamo usare questo Q & A per diffondere la parola su binario e testo con hashing e crittografia! –