Italia
Fonte/ 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 circa 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 Divertimento 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 naturalmente 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


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

3.605 Views

Untitledvor 0 min.
H.Brill30.07.2024
Walter11.06.2023
Tommy08.08.2021
Stephan Sonneborn07.07.2021
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

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


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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