Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Шифр полиалфавитной подстановки


Автор: WaterProof 9.1.2007, 20:33
Есть функция:
Код

function Code(pString: String; key : String): string;
var i:integer;
out:string;
begin
 for I := 0 to length(pString) do
   begin
     out[i] := chr((ord(Pstring[i])+ord(key[(i mod length(key))])) mod 256);
   end;
Result := out;
end;

Шифрует текст шифром полиалфавитной подстановки.
 smile Не знаю, можно ли публиковать ссылки на другие сайты, но http://orel-lsr.narod.ru/LAB2/l2_1.html
При шифровании прога вылетает с ошибкой access violation... smile  прога нужна уже сегодня...   если не сделаю сегодня то убью себя  smile 
 smile 

Автор: aktuba 9.1.2007, 20:38
Не забывай инициализировать переменные.

Код

function Code(pString: String; key : String): string;
var i:integer;
out:string;
begin
 SetLength(out, Length(pString));
 for I := 0 to length(pString) do
   out[i] := chr((ord(Pstring[i])+ord(key[(i mod length(key))])) mod 256);
 Result := out;
end;

Автор: WaterProof 9.1.2007, 20:46
пасиб.. забыл об инициализации...

Автор: VICTAR 9.1.2007, 20:54
string начинается не с 0 (там хранится длина), а с 1.
Код

for I := 1 to length(pString)

Автор: WaterProof 9.1.2007, 21:01
Это я тоже поправил... под вечер уже внимание никакое....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)