Я когда не от супер-пупер взлома, а для бытовых всяких нужд пользуюсь XOR, примерно так вот:
Код:
for i := 1 to Length(S) do
S[i] := Char(Ord(S[i]) xor Ord(Key[i mod Length(Key)]));
Надежность, конечно, не шибко высокая, мягко говоря, но быстро и работает в обе стороны.