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

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

textual

Код:

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.

Похожие ответы
  1. Разработать алгоритм и программу, определяющие сумму ряда с заданной погрешностью ипсилон для произвольно заданного аргумента x. x-(x^3/3)+(x^5/5)-(x^7/7)+...+(-1)^n*(x^(2*n+1)/(2*n+1))+... Функция для проверки arctg(x). Помогите пожалуйста!!!! Зашиваюсь

  1. Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, суммы делителей которых больше заданного числа Х. Проверку, является ли сумма делителей данного числа больше заданного числа Х, сделать с помощью процедуры пользователя. Составить программу

  1. как вывести результат двумерного массива на экрант в виде таблицы

  1. Помогите пожалуйста составить задачу с линейным алгоритмом вот думаю будет точнее, на картинке

  1. Помогите пожалуйста написать формулу на паскале... y=(e^-tg(x/2))/(sin(abs((1-x^2)/(sqrt(abs(cos^3*x^3))+2)))

  1. напишите решение в паскале получить все,не превышающего заданного числа N,которые делятся без остатка на все свои цифры

  1. Для заданного N вычислить корень из(2+ корень2+...+корень2) N раз

  1. Напишите программу, которая запрашивает и вводит с экрана два линейных массива действительных чисел не более 50 членов(возможно разное количество членов)получает из них третий, путем приписывания членов массива введенного вторым после членов массива введенного первым затем программа выводит полученный массив очень буду признателен=) Пожалуйста напишите , если можно от начала до конца )


Нашли ошибку?
Развитие проекта
Яндекс.Метрика