Os dejo esta herramienta que acabo de hacer, es un generador de cifrados del [Enlace externo eliminado para invitados] que hice, genera nuevas tablas de modo que la herramienta genera un cifrado diferente cada vez.
A su vez, lo he modificado para que esté todo en una única función, en lugar de usar una para cifrar y otra para descifrar.

Ejemplo de Cifrado generado:
Function CifSustMetal(Texto: string; EncDec: ShortInt): string;
Const Letr: array [0..255] of byte = (
$F7,$38,$50,$68,$80,$98,$A8,$C0,$D8,$F0,$00,$21,$39,$49,$59,$71,
$91,$A9,$B9,$D1,$E1,$F1,$02,$12,$2A,$3A,$4A,$5A,$6A,$7A,$8A,$9A,
$B2,$C2,$D2,$E2,$F3,$03,$13,$23,$3B,$4B,$5B,$6B,$83,$93,$9B,$AB,
$BB,$CB,$D3,$E4,$EC,$FC,$0C,$14,$24,$34,$44,$4C,$5C,$64,$74,$7C,
$8C,$9C,$AC,$B4,$C4,$CC,$DD,$E5,$F5,$05,$0D,$1D,$25,$35,$45,$4D,
$5D,$6D,$75,$85,$8D,$9D,$A5,$B5,$C6,$CE,$DE,$E6,$F6,$06,$0E,$1E,
$2E,$3E,$46,$56,$66,$6E,$7E,$86,$96,$9E,$AE,$B7,$C7,$D7,$DF,$EF,
$FF,$07,$17,$27,$2F,$3F,$47,$57,$5F,$6F,$77,$87,$97,$9F,$B0,$B8,
$C8,$E0,$E8,$F8,$08,$10,$20,$28,$40,$48,$58,$60,$70,$78,$88,$90,
$A1,$B1,$C1,$C9,$D9,$E9,$F9,$01,$11,$19,$29,$31,$41,$51,$61,$69,
$79,$92,$A2,$AA,$BA,$CA,$DA,$EA,$F2,$0A,$1A,$22,$32,$42,$52,$62,
$72,$7B,$8B,$A3,$B3,$C3,$DB,$E3,$FB,$0B,$1B,$2B,$33,$43,$53,$63,
$84,$94,$A4,$BC,$D4,$DC,$F4,$04,$1C,$2C,$3C,$54,$65,$7D,$95,$AD,
$BD,$C5,$D5,$ED,$FD,$15,$2D,$3D,$4E,$5E,$76,$8E,$A6,$B6,$BE,$D6,
$EE,$FE,$16,$26,$36,$4F,$67,$7F,$8F,$A7,$AF,$BF,$CF,$E7,$0F,$1F,
$A0,$D0,$18,$81,$89,$99,$09,$82,$FA,$73,$EB,$6C,$55,$CD,$37,$30);
var
i, j: integer;
begin
SetLength(Result, Length(Texto));
for i:= 1 to Length(Texto) do
if EncDec = 0 then
begin
Texto[i]:= chr(Letr[ord(Texto[i])]);
end else
if EncDec = 1 then
begin
for j:= 0 to 255 do
begin
if Texto[i] = chr(Letr[j]) then
begin
Texto[i]:= chr(j);
break;
end;
end;
end;
Result:= Texto;
end;
Un simple ejemplo de uso:Parámetros de la función principal:
Function CifSustMetal(Texto: string; EncDec: ShortInt): string;
- Texto: Cadena para encriptar o desencriptar.
- EncDec: Número; 0 para encriptar y 1 para desencriptar.
procedure TForm1.Button1Click(Sender: TObject);
var
Txt: string;
begin
Txt:= 'Texto sin cifrar.';
Txt:= CifSustMetal(Txt, 0); // 0 para encriptar
showmessage(Txt);
Txt:= CifSustMetal(Txt, 1); // 1 para desencriptar
showmessage(Txt);
end;
Descarga: [Enlace externo eliminado para invitados]Pass: udtools.net
Espero que os sea de utilidad.
Un saludo.