Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: vignere funktioniert nicht

  1. #1
    Interessierte/r
    Registriert seit
    04.11.2005
    Ort
    Hamburg
    Beiträge
    123
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard vignere funktioniert nicht

    nachdem ich neulich mit eurer hilfe den caesar-chiffre hinbekommen habe hab ich mich jez rangesetzt die vignere-verschlüsselung zu versuchen. diese funktioniert so das man einen text hat (z.B.:"forum hilfe ist toll" schleim ) und ein schlüsselwort (zB: "peter") nun wird den buchstabe des schlüsselwortes eine ordnungszahl zugeordnet: a=0 b=1 c=2 usw. und der text wird mit der jeweils zugehörigen stelle des schlüsselworts kodiert. im beispiel: erster buchstabe text="f"=6; erster buchstabe schlüsselwort="p"=16; das f wird um 16 stellen verschoben ist nun 6(f)+16(p)=22=v. der 2. buchstabe vom text wird mit dem 2. des schlüsselworts kodiert also o+e=t der 3. mit dem 3. usw. das hat prima funktioniert. nun hatte ich bloß 2 probleme: 1. wenn das schlüsselwort länger ist als der text hat er 0+buchstabe aus schlüsselwort gerechnet obwohl der text dort beendet sein sollte. dies habe ich mit substr gelöst indem das schlüsselwort einfach abgeschnitten wurde. das 2. problem triit nun auf wenn der text länger ist als das schlüsselwort. meine idee ist dass er wenn der stellenzähler des schlüsselwortes die länge des schlüsselwortes errreicht hat auf 0 springt. naja auf jeden fall funzt es nich.

    Der Code:
    Code:
    <form action="form3.php" method="post">
    <textarea name="text2" cols="80" rows="17" id="feld">
    <?php
    $code = $_POST&#91;'code'&#93;;
    $code = strtolower&#40;$code&#41;;
    $text = $_POST&#91;'text2'&#93;;
    $text = strtolower&#40;$text&#41;;
    $wahl = $_POST&#91;'wahl'&#93;;
    $laenget = strlen&#40;$text&#41;;
    $laengec = strlen&#40;$code&#41;;
    $code = substr&#40;$code, 0, $laenget&#41;;
    $i = 0;
    $d = 0;
    if &#40;strcmp&#40;urlencode&#40;$code&#41;,$code&#41;&#41;
    &#123;
    echo&#40;'Bitte benutze für das Schlüsselwort auschließlich Buchstaben'&#41;;
    &#125;
    else
    &#123;
    	if &#40; $wahl == 'ver'&#41;
    	&#123;
    		while&#40; $i < $laenget&#41;
    		&#123;
    
    			if&#40;$d=$laengec&#41;
    			&#123;
    			$d=0;
                             $buch = $text&#91;$i&#93;;
    			$cbuch = $code&#91;$d&#93;;
    			$zahl = ord&#40;$cbuch&#41;-97;
    			$bin = ord&#40;$buch&#41;;
    			$neubin = $bin+$zahl;
    			$fertig = chr&#40;$neubin&#41;;
    			echo&#40;$fertig&#41;;
    			$i=$i+1;
    			$d=$d+1;
    			&#125;
                             else
                             &#123;
                             $buch = $text&#91;$i&#93;;
    			$cbuch = $code&#91;$d&#93;;
    			$zahl = ord&#40;$cbuch&#41;-97;
    			$bin = ord&#40;$buch&#41;;
    			$neubin = $bin+$zahl;
    			$fertig = chr&#40;$neubin&#41;;
    			echo&#40;$fertig&#41;;
    			$i=$i+1;
    			$d=$d+1;
                     	&#125;
    		&#125;
    	&#125;
    	else
    	&#123;
    		while&#40; $i < $laenget&#41;
    		&#123;
    
    			if&#40;$d=$laengec&#41;
    			&#123;
    			$d=0;
                             $buch = $text&#91;$i&#93;;
    			$cbuch = $code&#91;$d&#93;;
    			$zahl = ord&#40;$cbuch&#41;-97;
    			$bin = ord&#40;$buch&#41;;
    			$neubin = $bin-$zahl;
    			$fertig = chr&#40;$neubin&#41;;
    			echo&#40;$fertig&#41;;
    			$i=$i+1;
    			$d=$d+1;
    			&#125;
                             else
                             &#123;
                             $buch = $text&#91;$i&#93;;
    			$cbuch = $code&#91;$d&#93;;
    			$zahl = ord&#40;$cbuch&#41;-97;
    			$bin = ord&#40;$buch&#41;;
    			$neubin = $bin-$zahl;
    			$fertig = chr&#40;$neubin&#41;;
    			echo&#40;$fertig&#41;;
    			$i=$i+1;
    			$d=$d+1;
                             &#125;
    		&#125;
    &#125;
    ?>
    </textarea>
    
    <input type="text" name="code" id="feld"></input>
    <input type="radio" name="wahl" value="ver"></input>verschlüsseln
    <input type="radio" name="wahl" value="ent"></input>entschlüsseln
    <input type="submit" value="los gehts" id="feld"></input>
    </form>
    würde mich freuen wenn mir jemand helfen könnte
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich hab ihn nur in Pascal

  3. #3
    Interessierte/r
    Themenstarter

    Registriert seit
    04.11.2005
    Ort
    Hamburg
    Beiträge
    123
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    sieht er da nich ähnlich aus?

  4. #4
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    also nochmals zum verständniss:

    die unter einander stehenden buchstaben werten (ascii) wedne adiert ?!

    forum hilfe ist toll
    peterpeterpeterp

    wenn ja, dann findei ch deinen code mindestens um das 3fach zu lang.

  5. #5
    Interessierte/r
    Themenstarter

    Registriert seit
    04.11.2005
    Ort
    Hamburg
    Beiträge
    123
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard der war ja mal kürzer

    also der war mal halb so lang aber auf der suche nach dem fehler hab ich dann den kram immer erweitert. also der untenstehende code ist kürzer und glaub ich gleichbedeutend
    Code:
    <form action="form3.php" method="post">
    <textarea name="text2" cols="80" rows="17" id="feld">
    <?php
    $code = $_POST&#91;'code'&#93;;
    $code = strtolower&#40;$code&#41;;
    $text = $_POST&#91;'text2'&#93;;
    $text = strtolower&#40;$text&#41;;
    $wahl = $_POST&#91;'wahl'&#93;;
    $laenget = strlen&#40;$text&#41;;
    $laengec = strlen&#40;$code&#41;;
    $code = substr&#40;$code, 0, $laenget&#41;;
    $i = 0;
    $d = 0;
    if &#40;strcmp&#40;urlencode&#40;$code&#41;,$code&#41;&#41;
    &#123;
    echo&#40;'Bitte benutze für das Schlüsselwort auschließlich Buchstaben'&#41;;
    &#125;
    else
    &#123;
    	if &#40; $wahl == 'ver'&#41;
    	&#123;
    		while&#40; $i < $laenget&#41;
    		&#123;
    
    			if&#40;$d=$laengec&#41;
    			&#123;
    			$d=0;
    			&#125;
                             else
                             &#123;
                             $buch = $text&#91;$i&#93;;
    			$cbuch = $code&#91;$d&#93;;
    			$zahl = ord&#40;$cbuch&#41;-97;
    			$bin = ord&#40;$buch&#41;;
    			$neubin = $bin+$zahl;
    			$fertig = chr&#40;$neubin&#41;;
    			echo&#40;$fertig&#41;;
    			$i=$i+1;
    			$d=$d+1;
                     	&#125;
    		&#125;
    	&#125;
    	else
    	&#123;
    		while&#40; $i < $laenget&#41;
    		&#123;
    
    			if&#40;$d=$laengec&#41;
    			&#123;
    			$d=0;
    			&#125;
                             else
                             &#123;
                             $buch = $text&#91;$i&#93;;
    			$cbuch = $code&#91;$d&#93;;
    			$zahl = ord&#40;$cbuch&#41;-97;
    			$bin = ord&#40;$buch&#41;;
    			$neubin = $bin-$zahl;
    			$fertig = chr&#40;$neubin&#41;;
    			echo&#40;$fertig&#41;;
    			$i=$i+1;
    			$d=$d+1;
                             &#125;
    		&#125;
    &#125;
    ?>
    </textarea>
    
    <input type="text" name="code" id="feld"></input>
    <input type="radio" name="wahl" value="ver"></input>verschlüsseln
    <input type="radio" name="wahl" value="ent"></input>entschlüsseln
    <input type="submit" value="los gehts" id="feld"></input>
    </form>
    er zeigt mir trotzdem an das das ende unterwartet in der letzten zeile kommt

  6. #6
    Interessierte/r
    Themenstarter

    Registriert seit
    04.11.2005
    Ort
    Hamburg
    Beiträge
    123
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    also der schrecklichste fehler den ich gemacht hab is ja das der typ Vigenère und nich Vignere heißt.

  7. #7
    Fortgeschrittene/r
    Registriert seit
    22.11.2005
    Beiträge
    153
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo

    hab da mal ein paar Fragen. Soll dein Code die Buchstaben nach den ASCII-Werten addieren? Wenn ja, dann bekommst du ja für dein codiertes Wort lauter Sonderzeichen raus. Ich hab dafür einfach mal schnell einen Code geschrieben:

    Kannst dir das ganze auch hier mal online angucken:

    www.bvpuettlingen.de/test.php

    Code:
    <html>
    <head>
    <title>Codieren</title>
    </head>
    
    <body>
    <?php
    if&#40;isset&#40;$_GET&#91;'text'&#93;,$_GET&#91;'wort'&#93;&#41;&#41; &#123;
    
    echo "Text&#58; ".$_GET&#91;'text'&#93;."
    
    \n";
    echo "Schlüsselwort&#58; ".$_GET&#91;'text'&#93;."
    
    <hr>
    \n";
    
    $text = $_GET&#91;'text'&#93;;
    $wort = $_GET&#91;'wort'&#93;;
    $textlaenge = strlen&#40;$text&#41;;
    $wortlaenge = strlen&#40;$wort&#41;;
    
    $hilfsindex = 0;
    $ausgabe ="";
    
    for&#40;$index=0;$index<$textlaenge;$index++&#41; &#123;
    if&#40;$hilfsindex<$wortlaenge&#41; &#123;
    $ausgabe .= chr&#40;ord&#40;substr&#40;$text,$index,1&#41;&#41;+ ord&#40;substr&#40;$wort,$hilfsindex,1&#41;&#41;&#41;;
    $hilfsindex++;
    &#125; else &#123;
    $hilfsindex=0;
    $ausgabe .=  chr&#40;ord&#40;substr&#40;$text,$index,1&#41;&#41;+ ord&#40;substr&#40;$wort,$hilfsindex,1&#41;&#41;&#41;;
    $hilfsindex++;
    &#125;
    &#125;
    
    echo "codiert&#58; ".$ausgabe."\n";
    
    &#125; else &#123;
    ?>
    <form id="form1" name="form1" method="get" action="test.php">
      <label>Text
      <input type="text" name="text" />
      </label>
      
    
    
        <label>Schlüsselwort
        <input type="text" name="wort" />
        </label>
      </p>
      
    
    
        <input type="submit" name="Submit" value="Codieren" />
      </p>
    </form>
    <?php
    &#125;
    ?>
    </body>
    </html>
    [/url]

  8. #8
    Interessierte/r
    Themenstarter

    Registriert seit
    04.11.2005
    Ort
    Hamburg
    Beiträge
    123
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    vom prinzip her is das richtig der soll muss dann bloß noch noch den ascii-wert minus den ascci-wert vom a rechnen damit da nich immer son kram rauskommt. deshalb hatte ich ja auch strtolower benutzt weil man sich dann nur um das kleine alphabet kümmern muss

  9. #9
    Interessierte/r
    Themenstarter

    Registriert seit
    04.11.2005
    Ort
    Hamburg
    Beiträge
    123
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    das ding funzt nich der kodiert nich mit dem schlüsselwort sondern mit dem wort selber

  10. #10
    Interessierte/r
    Themenstarter

    Registriert seit
    04.11.2005
    Ort
    Hamburg
    Beiträge
    123
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    also jez mal ne andere frage: gibt es nich einfach eine php-funktion mit der ich ein string vervielfachen kann das?

Ähnliche Themen

  1. DNS funktioniert nicht!
    Von incendium im Forum Webhoster - Provider - (free) Webspace - Server - Domain
    Antworten: 4
    Letzter Beitrag: 29.03.2008, 12:02
  2. Mic-In funktioniert nicht
    Von Knüps im Forum Computer - Internet Forum
    Antworten: 1
    Letzter Beitrag: 06.02.2008, 20:19
  3. GIF funktioniert in IE nicht
    Von arnim im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 28.06.2007, 20:57
  4. dtd und css in php funktioniert im IE nicht!!!
    Von im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 09.06.2007, 16:33
  5. Funktioniert nicht…
    Von SlimShady im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 25.12.2005, 23:43

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •