Показать сообщение отдельно
  #4  
Старый 04.04.2007, 19:30
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

to ~ SaM ~
Random никогда не вернет дробного значения, если вызывается с параметром

to TitiS
Если никаких серьезных требований к шифрованию не предъявляется, то можно написать простые функции с применением xor и not. Вот пример
Код:
// Кодирование строки
function Decode(text, key: string): string;
var
  code: Longint;
  i: integer;
begin
   if Length(text) = 0 then Exit;
   if Length(key) = 0 then
   begin
      Result := text;
      Exit;
   end;
 
   code := 0;
   for i := 1 to Length(key) do
      Inc(code, Ord(key));
 
 for i := 1 to Length(text) do
      Result := Result + Chr(not((Ord(text) + i) xor code));
end;
 
// Декодирование строки
function Encode(text, key: string): string;
var
  code: Longint;
  i: integer;
begin
   if Length(text) = 0 then Exit;
   if Length(key) = 0 then
   begin
      Result := text;
      Exit;
   end;
 
   code := 0;
   for i := 1 to Length(key) do
      Inc(code, Ord(key[i]));
 
   for i := 1 to Length(text) do
      Result := Result + Chr((not(Ord(text[i]) xor code)) - i);
end;
Принцип алгоритма основан на том, что операции xor и not обратимые. Если нужно что-то более серьезное, используй встроенные в Винду криптопровайдеры.
Ответить с цитированием