くだすれDelphi(超初心者用)その20
■ このスレッドは過去ログ倉庫に格納されています
0305ウルトラ初心者
NGNGvar
i, j, LP, Blk, M,LS: Integer;
begin
Result := '';
LP := Length(P); LS := Length(S);
if (LP = 0) or (LS = 0) then Exit;
Blk := LS div LP;
M := LS mod LP; //PassWord文字列の長さに満たない場合
SetLength(Result,LS);
for i := 1 to Blk do
for j := 1 to LP do
Result[(i-1)*LP+j] := Char( Ord(S[(i-1)*LP+j]) xor Ord(P[j]) );
if M > 0 then
for i := 1 to M do
Result[Blk*LP+i] := Char( Ord(S[Blk*LP+i]) xor Ord(P[i]) );
end;
-------------------------------------------------------------------------
単に任意の文字列に対しXORをかけるだけなのでP(パスワード文字列)も任意の日本語で問題ないと
思うのだが XorEnCode( '諸星弾&友里アンヌ' , 'ウルトラ警備隊') などとやると2回繰り返した
場合元に戻らない。なんでじゃろ?
■ このスレッドは過去ログ倉庫に格納されています