Описание алгоритма... проще функцию привести, она сама за себя всё скажет:
Код:
function SumFromStr(str:string):string;
const
arr:string='0123456789abcdef';
var
sum:string;
i,j,p,c:integer;
begin
sum:='00000000000000000000000000000000';
for i:=1 to length(str) do begin
for j:=0 to ord(str[i]) do begin
p:=(i*j mod 32)+1;
c:=pos(sum[p],arr)+1;
if c>=16 then c:=1;
sum[p]:=arr[c];
end;
end;
Result:=sum;
end;
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
|