Alexander Brock: 128 Bit Schlüssel erzeugen

Beitrag lesen

Hallo Freunde des gehobenen Forumsgenusses,

Dieser Algorithmus ist nicht sicher, da er unter bestimmten Vorausetzungen das gleiche Paßwort mehrfach ausgeben könnte.

Das ist aber _sehr_ unwahrscheinlich. Ich habe mal 1Mio Passwörter hintereinander damit erzeugt
(auf einem Athlon XP 2500+, 1GB RAM) und bekam kein doppeltes Passwort (mit immer gleicher IP).

Die Voraussetzung sind auch so ungewöhnlich nicht: es ist lediglich ein Multiprozessorsystem nötig und ein Router/Proxie o.ä. damit $_SERVER['REMOTE_ADDR'] gleich bleibt.

Hm, wenn ich serialize(($_GET|$_POST|$_SERVER)) dazunehme, wird sowas auch unwahrscheinlicher.

Dann kann diese Funktion zweimal zur gleichen Zeit ausgeführt werden [...]

Kann man irgendwie $_HARDWARE['PROZESSOR_NUMBER'] dazunehmen ? ;-)

microtime() hat zudem auf heutigen GHz Boliden nicht unbedingt die erforderliche Auflösung um sowas auch bei Einprozessorsystemen zu verhindern.

Gibts was genaueres? Ich hab nix gefunden.

Tja, auch mit dem besten kryptographischen Werkzeugen kann man sich mühelos selber in den Fuß schießen ;-)

Kann man auch mit den einfachen Dingen des Lebens (ich darf an die goto-Zeiten erinnern ;-))

Lösung des Dilemmas ist im einfachstem Fall ein Lockfile, das den aktuellen Seed enthält. Der nächste, der das Lockfile erhält kann reinschauen und bei Seedgleicheit einen neuen erzeugen.
Ist zwar nicht sehr elegant, ist aber simpel und funktioniert.

Das ist natürlich eine Lösung. In meinem Fall kann ich aber meinen Algorithmus behalten,
der ist dazu da, bei einem Formmailer dem Formular eine ID mitzugeben,
nur wer eine gültige ID hat, darf dann eine Mail verschicken :-)

Gruß
Alexander Brock

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
0 47

128 Bit Schlüssel erzeugen

sp7
  • programmiertechnik
  1. 0
    Elderan
    1. 0
      Sven Rautenberg
      1. 0
        Alexander Brock
        1. 0
          Elderan
          1. 0
            Christoph Zurnieden
            1. 0
              Alexander Brock
            2. 0
              Elderan
              1. 0
                Christoph Zurnieden
                1. 0
                  Elderan
                  1. 0
                    Christoph Zurnieden
                    1. 0
                      Elderan
                      1. 0
                        Christoph Zurnieden
                        1. 0
                          Christian Kruse
                          1. 0
                            Christoph Zurnieden
                            1. 0
                              Christian Kruse
                        2. 0
                          Elderan
                          1. 0
                            Christoph Zurnieden
                            1. 0
                              Alexander Brock
                              1. 0
                                Christoph Zurnieden
                                1. 0
                                  Christian Kruse
                                  1. 0
                                    Elderan
                                    1. 0
                                      Christian Kruse
                                      1. 0
                                        Elderan
                                        1. 0
                                          Christian Kruse
                                          1. 0
                                            Elderan
                                            1. 0
                                              Christian Kruse
                                              1. 0
                                                Alexander Brock
                                                1. 0
                                                  Christoph Zurnieden
                                                  1. 0
                                                    Alexander Brock
                                                  2. 0
                                                    Henryk Plötz
                                                    1. 0
                                                      Christoph Zurnieden
                                                2. 0
                                                  Christoph Zurnieden
                                                  1. 0
                                                    Alexander Brock
                                                    1. 0
                                                      Christoph Zurnieden
                                                      1. 0
                                                        Alexander Brock
                                                        1. 0
                                                          Christoph Zurnieden
                                        2. 0
                                          Christoph Zurnieden
                                      2. 0
                                        Henryk Plötz
                                        1. 0
                                          Christoph Zurnieden
                                    2. 0
                                      Christoph Zurnieden
                                      1. 0
                                        Henryk Plötz
                                        1. 0
                                          Christoph Zurnieden
                            2. 0
                              Elderan
                              1. 0
                                Christoph Zurnieden
              2. 0
                Christian Kruse
    2. 0
      Henryk Plötz