| |
|
|
Michael Wodrich | El de algunos Mail-Programmen y NewsReadern bekannte ROT13-Verschlüsselung. No como gute Verschlüsselung pensamiento, pero en Textos vorübergehend a verbergen. Z.B. si encima Fußball-Ergebnisse geplaudert se deren Ausstrahlung sólo al Abend es. Oder alguien ha una TV-Serie ya en Amerika gesehen y voluntad darüber diskutieren. Mit ROT13 verborgen es cada freigestellt, se incluso el Spaß a verderben y el Texto a lesen oder más bien a warten. KompilierenMarcaSeparaciónXProfan 9 (lokaler Bereich, Operatoren)
Autor: Michael Wodrich
Def InRange(3) If((@&(1) >= @&(2)) and (@&(1) <= @&(3)),1,0)
Def InRangeEx(3) If((@&(1) > @&(2)) and (@&(1) < @&(3)),1,0)
Die aus Mail-Programmen bekannte ROT13-Verschlüsselung.
Zweimalige Anwendung entschlüsselt den Text wieder.
Proc Rot13$
Parameters Text$
Declare Erg$,Buf#,Anz%,c%
Let Anz% = Len(Text$) Länge wird mehrmals benötigt
Dim Buf#,Anz% + 1
String Buf#,0 = Text$
WhileLoop 0,Anz%
Let c% = Byte(Buf#,&loop)
If InRange(c%,65,77) or InRange(c%,97,109) A..M, a..m
Byte Buf#,&loop = c% + 13
ElseIf InRange(c%,78,90) or InRange(c%,110,122) N..Z, n..z
Byte Buf#,&loop = c% - 13
EndIf
EndWhile
Let Erg$ = String$(Buf#,0)
Dispose Buf#
Return Erg$
EndProc
cls
print ""
print Rot13$("Qvrf vfg rva Grfg.")
print ""
print Rot13$("Qvr nhf Znvy-Cebtenzzra orxnaagr EBG13-Irefpuyüffryhat.")
print Rot13$("Mjrvznyvtr Najraqhat ragfpuyüffryg qra Grkg jvrqre.")
print ""
print Rot13$("Ahe mhz rvasnpura ireoretra. Nyf Irefpuyüffryhat hatrrvtarg!")
WaitKey
end
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 19.09.2005 ▲ |
|
|
|
|
Michael W. | Es natürlich auch algo kompakter...
Como Yo el logischen And y Or verwendet. And: && Or: ||
Läßt se also auch a el 11él Versión adaptar.
// Autor: Michael Wodrich
Proc Rot13
Parámetros cadena s
Declarar cadena res, int c
WhileLoop 1,Len(s)
// c = ord(mid$(s,&loop,1))
c = ord(substr$(s,&bucle))
res = res + Chr$(if(((c > 64) && (c < 78)) || ((c > 96) && (c < 110)), c + 13, if(((c > 77) && (c < 91)) || ((c > 109) && (c < 123)), c - 13, c )))
EndWhile
Volver res
ENDPROC
cls
Declarar x$
x$ = "Test abc,123"
Imprimir " Original:",x$
x$ = Rot13(x$)
Imprimir "encode Rot13:",x$
x$ = Rot13(x$)
Imprimir "decode Rot13:",x$
imprimir ""
imprimir Rot13("Qvrf vfg rva Grfg.")
imprimir ""
imprimir Rot13("Qvr nhf Znvy-Cebtenzzra orxnaagr EBG13-Irefpuyüffryhat.")
imprimir Rot13("Mjrvznyvtr Najraqhat ragfpuyüffryg qra Grkg jvrqre.")
imprimir ""
imprimir Rot13("Ahe mhz rvasnpura ireoretra. Nyf Irefpuyüffryhat hatrrvtarg!")
WaitKey
end
|
|
|
| |
|
|