Deutsch
Quelltexte/ Codesnippets

Rot13 Verschlüsselung

 

Michael
Wodrich
Die aus einigen Mail-Programmen und NewsReadern bekannte ROT13-Verschlüsselung.
Nicht als gute Verschlüsselung gedacht, sondern um Texte vorübergehend zu verbergen.
Z.B. wenn über Fußball-Ergebnisse geplaudert wird deren Ausstrahlung erst am Abend erfolgt. Oder jemand hat eine TV-Serie schon in Amerika gesehen und will darüber diskutieren. Mit ROT13 verborgen ist es jedem freigestellt, sich selbst den Spaß zu verderben und den Text zu lesen oder lieber zu warten.
KompilierenMarkierenSeparieren
XProfan 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.
Das geht natürlich auch etwas kompakter...

Da habe ich die logischen And und Or verwendet.
And: &&
Or: ||

Läßt sich also auch an die 11er Version anpassen.
// Autor: Michael Wodrich

Proc Rot13

    Parameters string s
    Declare string res, int c

    WhileLoop 1,Len(s)

        // c = ord(mid$(s,&loop,1))
        c = ord(substr$(s,&loop))
        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

    Return res

EndProc

cls
Declare x$
x$ = "Test abc,123"
Print "    Original:",x$
x$ = Rot13(x$)
Print "encode Rot13:",x$
x$ = Rot13(x$)
Print "decode Rot13:",x$
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
 
Alle Sprachen
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
27.10.2020  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.595 Betrachtungen

Unbenanntvor 0 min.
H.Brill30.07.2024
Walter11.06.2023
Tommy08.08.2021
Stephan Sonneborn07.07.2021
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Michael W. (1x)
Michael Wodrich (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie