Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Hilfsprogramm zur ROT13-Verschleierung der Suchbegriffe Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von das |_ Team, Homepage - 8.11.2020 22:55)
 Als Antwort auf Re: Demoprogramm: Wörterraten (Hangman, Galgenmännchen) von das |_ Team - 8.11.2020 22:34
das |_ Team nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, CC1-Station V1.1, Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini M-Unit, Open-Mini Station, C-Control 2
Wer noch zusaetzliche Suchbegriffe in die verschleierte Woertertablle aus dem Programmlisting http://ccintern.dharlos.de/forum/lesen.php?eintrag=17141 einfügen möchte, kann z.B. dieses Hilfsprogramm verwenden.

Der Quelltext realisiert eine sogenannte Caesar-Verschluesselung mit der Besonderheit, dass bei erneuter Anwendung auf das Chiffrat, oder den Klartext jeweils wieder der Klartext vorliegt, bzw. aber das Chiffrat, wenn als Zeichenvorrat die 26 Buchstaben des Alphabets verwendet werden. Das Verfahren ist auch als ROT13-Verschiebung bekannt.

Hier z.B. kann man mehr darüber lesen:


https://wiki.opencaching.de/index.php/Caesar-Verschl%C3%BCsselung






' ===========================================================================
' Tool zum Demoprogramm Woerterraten (Hangman, Galgenmaennchen) auf Open-Maxi.
' Verschleiert die zu erratenden Woerter im Quelltext (ROT13). Ausgabe mittels
' Terminalprogamm kopieren, und in den Quelltext des Hauptprogramms einfuegen.
' In OCBASIC 1.11a ergaenzt fuer Open-Maxi von "das |_ Team" am 20. Oktober 2020
' ===========================================================================
' ROT13: z.B. https://wiki.opencaching.de/index.php/Caesar-Verschl%C3%BCsselung
' --- Definitionen ----------------------------------------------------------

INCLUDE "omax.def"            'Definitionen fuer die Open-Maxi

DEFINE string &h2aa           'Buffer an 1. Adresse hinter dem USER-RAM
DEFINE REQUESTNEWLINE 40      'Neue Tabellenzeile fruehestens nach 40 Buchstaben

DIM w, buchstabe WORD '+:"buchstabe"
DIM c,lens,anzb,wort_in_tabelle, rot13, column BYTE



' --- Hauptprogramm ---------------------------------------------------------
PRINT
PRINT "*** Majuskeltabellen verschleiern mit Open-Maxi ('ROT13', 'Caesar-Chiffre') ***"
PRINT
PRINT "Bitte nachfolgende Tabelle kopieren, und in das Hauptprogamm einfuegen."

PrintSpc=ON    'Bei PRINT dezimale Zahlen mit fuehrendem Leerzeichen ausgeben
End2Host=ON    'Bei Programmende (siehe END) gleich in den Host-Modus wechseln


?:? "TABLE woerter_rot13 BYTE 'erzeugt mittels OCBASIC-Programm 'OMJROT13.BAS'"

      FOR wort_in_tabelle=0 to 143'+:"143"(war: "130")
       PUT 34
       PRINT_ROT13(wort_in_tabelle)
     ' PUT 34
      'PRINT ",0,";

      NEXT wort_in_tabelle

     PRINT "0"
     PRINT "END TABLE"
END            'Zurueck in den Hostmodus. Neustart mit RETURN-Taste.


PROCEDURE PRINT_ROT13(c)  '|_  Abwandlung von Procedure 'gets(c)' aus dem Hauptprogramm Woerter raten.
  w=0
  WHILE c                        'String in Tabelle suchen
    WHILE LOOKTABBYTE(woerter_rot13,w)   ' WHILE LOOKTABBYTE(woerter,w)           'Zeile 49
      ADD w,1
    WEND
    ADD w,1
    SUB c,1
  WEND

  lens=0      'String Zeichen fuer Zeichen auf RS232:
  WHILE LOOKTABBYTE(woerter_rot13,w)  ' WHILE LOOKTABBYTE(woerter_rot13,w)        'Zeile 57
    'Schritt-fuer-Schritt erklaert:
     buchstabe=LOOKTABBYTE(woerter_rot13,w)  ' buchstabe=LOOKTABBYTE(woerter,w)   'Zeile 59

     IF buchstabe < 65 OR buchstabe > 90 THEN
      PUT buchstabe
     ELSE
       buchstabe=buchstabe-64 ' "A","B",..,"Z" codiert als Position im Alphabet:(1,2,..,26)
       buchstabe=buchstabe + 13 : IF buchstabe > 26 THEN buchstabe = (buchstabe MOD 26)
       buchstabe=buchstabe+64 ' "A","B",..,"Z" codiert als ASCII-Codes: (65,66,..,90)
       put buchstabe
     END IF
     ADD column,1 '+

    ADD w,1
    ADD lens,1
  WEND
  PUT 34
  IF column > REQUESTNEWLINE THEN 'Naechstes Wort in neue Tabellenzeile schreiben
   PRINT ",0"                     'Dies ist jedoch kein echter Wortumbruch
   column=0
  ELSE
'   PUT 34
   PRINT ",0,";
  END IF
  RETURN
END PROCEDURE

' --- Tabellen --------------------------------------------------------------

' Die Woerterliste stammt von http://fx-850p.dharlos.de/GAMES.LST

TABLE woerter BYTE
"BRUTTOSOZIALPRODUKT",0,"BART SIMPSON",0,"WOERTER RATEN",0
'(Tabelle gekuerzt)
0
END TABLE

' Die Woerterliste stammt von http://fx-850p.dharlos.de/GAMES.LST, und wurde mit dem hier
' vorliegenden Programm (OMJROT13.BAS) einer ROT13, bzw. Caesar-Chiffre mit 13 unterzogen.

TABLE woerter_rot13 BYTE 'erzeugt mittels OCBASIC-Programm 'OMJROT13.BAS'
"OEHGGBFBMVNYCEBQHXG",0,"ONEG FVZCFBA",0,"JBREGRE ENGRA",0
"YHPXL YHXR",0,"QNTBOREG QHPX",0,"NFGREVK HAQ BORYVK",0
"GNFGNGHE",0,"GNFPURAYNZCR",0,"JBREGREOHPU",0,"ZVXEBNZCRER",0
"CUNFRAIREFPUVROHAT",0,"ORQVRAHATFNAYRVGHAT",0,"SERDHRAMNRAQREHAT",0
"IBTRYTRMJVGFPURE",0,"QVFXRGGR",0,"ERPUGFPUERVOERSBEZ",0
"REARFG URZVATJNL",0,"QRZBAFGENGVBA",0,"PUNZCNTARE",0,"PUNEYVR PUNCYVA",0
"ORIBRYXREHATFRAGJVPXYHAT",0,"ORJNRUEHATFURYSRE",0
"OVOREENGGR",0,"ORHGRYFCEVATZNHF",0,"REQBRYENSSVAREVR",0
"NEORVGARUZRE",0,"ARNAQREGUNYRE",0,"NZNMBANF",0,"FHRQJRFGNSEVXN",0
"NGYNAGVFPURE BMRNA",0,"LBXBUNZN",0,"ARHFPUBGGYNAQ",0,"RY FNYINQBE",0
"GEBCVFPURE ERTRAJNYQ",0,"OREAFGRVAMVZZRE",0,"NETYVFGVTR GNRHFPUHAT",0
"YBHVF NEZFGEBAT",0,"NEFRAIRETVSGHAT",0,"NEGVXHYNGVBA",0
"NEGVFPUBPXR",0,"NGBZFCREEIREGENT",0,"NGZBFCUNRER",0,"ONUAUBSFZVFFVBA",0
"ONAXORNZGRE",0,"ONANARAFGRPXRE",0,"ONEPRYBAN",0,"ONEBZRGRE",0
"ONHTRABFFRAFPUNSG",0,"ENQVB URESBEQ",0,"ORYNTREHATFMHFGNAQ",0
"ORATNYVFPURF SRHRE",0,"ORENGHATFFGRYYR",0,"ORARYHKFGNNGRA",0
"OREZHQNQERVRPX",0,"XHESHREFGRAQNZZ",0,"XBATERFFUNYYR",0
"OVOYVBTENCUVR",0,"OYHSS",0,"OYVAQRAFPUEVSG",0,"FPUZRGGREYVATR",0
"OYHGRTRY",0,"XERQVGVAFGVGHG",0,"OBBTVR JBBTVR",0,"QRHGFPUR CERFFRNTRAGHE",0
"QRMRAGENYVFNGVBA",0,"QVNRGRAREUBRUHAT",0,"QVSSRERAGVNYERPUAHAT",0
"VAGRTENYERPUAHAT",0,"QVABFNHEVRE",0,"QBCCYRERSSRXG",0,"QENVFVAR",0
"QERVFFVTWNRUEVTRE XEVRT",0,"QERFPUZNFPUVAR",0,"QEHPXOHPUFGNOR",0
"TYRVPUFRVGVTRF QERVRPX",0,"QHQRYFNPXCSRVSRE",0,"QHNYFLFGRZ",0
"QHZCVAT",0,"ORETXEVFGNYY",0,"CLEVG",0,"FPUJRSRYFNRHER",0,"DHVAGRGG",0
"XABYYRAOYNRGGRECVYM",0,"CSVSSREYVAT",0,"PUNZCVTABA",0,"GNTCSNHRANHTR",0
"FPUJNYORAFPUJNAM",0,"NQZVENY",0,"FGRVAOHGG",0,"EBGONEFPU",0
"EBGXRUYPURA",0,"JRVFFR ONPUFGRYMR",0,"OHPUSVAX",0,"FPUJNEMRE YRBCNEQ",0
"ANFRAONRE",0,"MVORGXNGMR",0,"JNFPUONRE",0,"BOREXVRSREUBRUYR",0
"ZVPXL ZNHF",0,"TBBSL",0,"YHSGEBRUER",0,"UVEANAUNATQEHRFR",0
"ERANVFFNAPR",0,"EBZ",0,"CNOYB CVPNFFB",0,"NYVPR VZ JHAQREYNAQ",0
"IBEQREENQSRQREHAT",0,"XHCCYHATFCRQNY",0,"OEHGGBERTVFGREGBAARA",0
"XBZZNAQBOEHRPXR",0,"ZNFPUVARAENHZ",0,"BOREIBYGN",0,"IRERVAGR ANGVBARA",0
"RYSRAORVAXHRFGR",0,"FVREEN YRBAR",0,"ZNHEVGVHF",0,"FGNYVATENQ",0
"FGERCGBXBXXRA",0,"FPUNHSRYENQQNZCSRE",0,"MVTNERGGR",0,"FGRVAXBUYRASBREQREHAT",0
"FGVAXZBEPURY",0,"SVANAMIREJNYGHAT",0,"FGVRSZHRGGREPURA",0
"FGVYYRORA",0,"FGVZZTNORY",0,"NYOREG RVAFGRVA",0,"FGLK",0,"FHOFGVGHGVBA",0
"FHRQNSEVXN",0,"FGHQRAG",0,"BCRA-ZVPEB",0,"BCRA-ZVAV",0,"BCRA-ZNPEB",0
"BCRA-ZNKV",0,"BCRA-PBAGEBY",0,"QBANH-QNZCSFPUVSSSNUEGFTRFRYYFPUNSG",0
"ERANGHEVREHATFZNFFANUZR",0,"XENSGSNUEMRHT-UNSGCSYVPUGIREFVPUREHAT",0
"FGENFFRAIREXRUEF-MHYNFFHATF-BEQAHAT",0,"YNOBEARGMTRENRG",0
"OEBGXNFGRA",0,"PBZZBQBER",0,"SVANAMQVRAFGYRVFGHATFHAGREARUZRAFOEBFPUHRERAIBEFGRYYHATFSNPUXENRSGRIREFNZZYHAT",0
0
END TABLE

' --- Programmende ----------------------------------------------------------




Meine Homepage: http://visit.ghn-sensorik.de/L-Team/Lvm/

 Antwort schreiben

Bisherige Antworten:

Vielen Dank! (von Dietmar - 9.11.2020 6:37)