Umwandeln von Username in Zahlen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Umwandeln von Username in Zahlen

    Hallo,
    möchte gerne einen Code schreiben, indem der Username in Zahlen umgewandelt wird.
    Eigentlich sollte das Ganze so aussehen, dass jeder Buchstabe durch die Stellung im Alphabet ausgedrückt wird, d.h.:
    a = 1
    z= 26
    Sonderzeichen=27
    ....

    Dies wollte ich durch einen aufwändigen Code machen, der jeden Buchstaben einzelln vom Usernamen abtrennt und je nach Buchstabe durch die Zahl ersetzt.
    Leider habe ich nach aufwändigem Suchen keine solche Funktion gefunden, die dies ermöglich, weil alle ein Trennparameter brauchen, habe ich möglicherweise eine übersehen?
    Gibt es eine Funktion, die evt. dies schon von vornherein macht (Buchstaben in Zahlen konvertieren)?
    Nennt mir doch bitte mal solch eine, falls von einer wisst.

    danke.

  • #2
    HuHu

    PHP-Code:
    $username ereg_replace("A","1",$username); 
    hm so vielleicht?

    mfg
    Es gibt im Leben immer einen der besser ist als man selbst..das sollte keiner vergessen *fg

    Kommentar


    • #3
      Stimmt, danke, ist mir voll entfallen

      Kommentar


      • #4
        Bei ereg_replace findet man im Manual:
        Tip: preg_replace(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg_replace().
        Bei str_replace findet man:
        This function returns a string or an array with all occurrences of search in subject replaced with the given replace value. If you don't need fancy replacing rules (like regular expressions), you should always use this function instead of ereg_replace() or preg_replace().
        Du brauchst hier keine RegEx -> nimm str_replace
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          PHP-Code:
          <?
            $letters = array("a", "b", "c", "d", ...........);
            $numbers = array(1,2,3,4, ...........);
            
            $string = "bcad";
            
            echo str_replace($letters, $numbers, $string);
          ?>
          Gruß
          Uwe

          Kommentar


          • #6
            ereg_replace so zu missbrauchen... *tztztz*

            Kommentar


            • #7
              Vielen Dank für eure nette Hilfe.
              Ich glaube ich werde es so machen, wie uwe59 es vorgeschlagen hat, dabei bleibt der Code am übersichtlichsten.
              Danke, danke.

              Kommentar


              • #8
                BTW: wofür brauchst du das eigentlich?

                Kommentar


                • #9
                  schonmal dran gedacht, dass du beim zurückwandeln nicht erkennst ob 21 jetzt BA oder U heisst .. ?
                  mfg,
                  [color=#0080c0]Coragon[/color]

                  Kommentar


                  • #10
                    Nützt dir sowas?

                    PHP-Code:
                    function stringtonumber($string) {
                      
                    $len strlen($string);
                       for (
                    $i=0$i $len$i++) {
                         
                    $stri .= ord(substr($string,$i,1)).'_';
                       }
                       return 
                    $stri;
                     }


                     function 
                    stringtoword($string) {
                      
                    $array explode('_',$string);
                       foreach (
                    $array AS $var) {
                         
                    $stri .= chr($var);
                       }
                       return 
                    $stri;
                     }


                    echo 
                    stringtonumber("Testerchen");
                    echo 
                    "<br>";
                    echo 
                    stringtoword("84_101_115_116_101_114_99_104_101_110_"); 
                    Siehe auch: http://www.php-resource.de/tutorials/read/29/1/

                    Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                    sondern mit den Augen das Manual zu lesen.

                    Kommentar


                    • #11
                      Der Verwendungszweck wird ja scheinbar hier nicht ausgeplaudert, aber wenn's ums verschlüsseln von Usernamen zur Speicherung in DB ginge, dann vielleicht doch lieber mit den PHP-gegebenen Möglichkeiten hashen?

                      Gruss
                      Quetschi
                      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                      Schön - etwas Geschichte kann ja nicht schaden.
                      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                      Kommentar


                      • #12
                        Es geht um die Verschlüsselung des Usernamens als Anhang für die URL, als Ersatz für eine Session.
                        Der Sinn der Sache ist ja, dass man dies nicht mehr entschlüsseln kann, deshalb gibt es auch eine Zuweisung von gleichen Werten zu den verschiedenen Buchstaben.
                        Eine Identifikation findet dann über die IP statt.

                        D.h.:
                        Beim Login wird der Username und das Passwort ersteinmal so umgewandelt in Zahlen, dann mit verschiedenen mathematischen Rechenmethoden verrechnet und zum Schluss MD5() verschlüsselt, das ganze wird der URL angehängt und in der DB als dynamische Variabeln gespeichert, sowie die IP.
                        Hat jemand jetzt eine andere IP und hängt diese Endung an die URL, kommt er trotzdem nicht auf den Account, da nach der aktuellen IP in der DB gesucht wird und kontrolliert, ob der verschlüsselte Username und das Passwort übereinstimmen.

                        Nachteil der ganzen Sache:
                        (1) Sollte ein Hacker die Endung herausfinden und zufällig nach beenden der Internetverbindung des Users die gleiche IP bekommen, so könnte er auf den Account.
                        - Dies soll noch durch eine Logout oder eine Timeout Funktion sehr eingedämmt werden, beide löschen die Einträge aus der DB, sodass ein erneutes einloggen möglich ist.
                        - Hättet ihr für dieses Problem eine Lösung?

                        Kommentar


                        • #13
                          Was war noch gleich der Grund, nicht mit Session szu arbeiten?
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Das es ein Zwischending zwischen Cookies und Sessions sein sollte.
                            Es sollte auch möglich sein, eingeloggt zu bleiben, sobald eine Session abgelaufen wäre oder auch, damit man nach dem Schließen des Browsers seine Benutzerangaben nicht neu eingeben muss.

                            Gibt es denn eine Möglichkeit diese, wenn auch geringe, Sicherheitslücke zu schließen?

                            Kommentar


                            • #15
                              Gibt es denn eine Möglichkeit diese, wenn auch geringe, Sicherheitslücke zu schließen?
                              Sessions

                              Kommentar

                              Lädt...
                              X