Программа "Генератор хешей" - Pascal

Формулировка задачи:

Здравствуйте. Хочу сделать программу-генератор хешей по алгоритму sha224. Необходимо, чтобы можно было задать диапазон значений (шифруются числовые значения с 31 символом), каждому элементу которого подбирается соответствующее значение хеша с сохранением значений в формате число:хеш. Возможно это реализовать или может есть какие-то готовые решения? Для примера: Задаём диапазон значений от 0.000000000000000000000000000001 до 0.60000000000000000000000000000. Для каждого значения из этого диапазона подобрать хеш по sha224.


textual

Код к задаче: «Программа "Генератор хешей" - Pascal»

program HashCalc;
 
{$mode delphi}
 
uses
  SysUtils,
  tfTypes,
  tfBytes,
  tfHashes;
 
procedure CalcHash(const s: string);
const
  BufSize = 32;
 
var
  HashName: string='SHA224';
  HashArr: THash;
  Buffer: array[0 .. BufSize - 1] of Byte;
  L: Integer;
 
begin
  HashArr:= THash(HashName);
  for L:=1 to 32 do Buffer[L-1]:=ord(s[L]);
  HashArr.Update(Buffer, BufSize);
  Writeln(s, ':  ', HashArr.Digest.ToHex);
end;
 
var
  s1:string;
  s2:string;
  fout:string;
  i:integer;
begin
  write('Start:');readln(s1);
  if s1='' then s1:='0.000000000000000000000000000001';
  write('Finish:');readln(s2);
  if s2='' then s2:='0.600000000000000000000000000000';
  write('Output file name:');readln(fout);
  assignfile(output,fout);
  rewrite(output);
  repeat
    CalcHash(s1);
    s1[length(s1)]:=chr(ord(s1[length(s1)])+1);
    for i:=length(s1) downto 3 do
      if s1[i]>'9' then begin s1[i-1]:=chr(ord(s1[i-1])+1);s1[i]:='0';end;
  until s1>s2;
  close(output);
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 4.300 из 5

Источник