Hash-Salz für einzelne Anrufe einstellen

Diese Frage hat hier schon eine Antwort:

  • Deaktivieren Sie Hash-Randomisierung aus Python-Programm 1 Antwort

Ich bin auf der Suche nach einem Weg, um Python's hash() Salz für einzelne Anrufe auf die Funktion gesetzt. In den docs habe ich nur PYTHONHASHSEED gefunden, die das Salz für alle Anrufe auf hash() . Allerdings brauche ich hash , um mir immer das gleiche Ergebnis zu bekommen, wenn es von bestimmten Objekten aufgerufen wird, aber ich möchte nicht die gesamte Anwendung zwingen, das gleiche (vorhersagbare) Salz zu verwenden.

  • Schrecklich, unveränderlich
  • Wie korrigiere man eine Python-String über Packen und Auspacken mit binascii?
  • Wo finde ich Quelle oder Algorithmus von Pythons Hash () -Funktion?
  • ALGORITHM - String Ähnlichkeitsbewertung / Hash
  • Warum tuple (set ([1, "a", "b", "c", "z", "f"])) == tupel (set (["a", "b", "c" "Z", "f", 1])) 85% der Zeit mit Hash-Randomisierung aktiviert?
  • Was ist der wahre Unterschied zwischen einem Wörterbuch und einer Hash-Tabelle?

  • Kontext: In python2 ich hash , um Schlüsselwert-Objektpaare in indizierte Eimer zu sortieren. Eimer werden beharrlich gespeichert. Dies wird umgekehrt, um den Wert zu holen. Im Grunde, für jedes Paar, das ich tue

     class PDict(object): def __init__(self, bucket_count, bucket_store_path): self._path, self.bucket_count = \ self._fetch_or_store_metadata(bucket_store_path, bucket_count) def __setitem__(self, key, value): bucket_index = (hash(key)&0xffffffff) % self.bucket_count self.buckets[bucket_index][key] = value self._store_bucket(bucket_index) def __getitem__(self, key): bucket_index = (hash(key)&0xffffffff) % self.bucket_count return self._fetch_bucket(bucket_index)[key] 

    Dies erfordert hash , um mir immer das gleiche Ergebnis pro Instanz , über Dolmetscher Aufruf.

  • Pip / easy_install failure: Fehler beim Erstellen des Prozesses
  • Visual C ++ für python fehlgeschlagen mit Exit-Status 2 bei der Installation von divisi2
  • Python pip: keine Distributionen für ein bestehendes Paket gefunden
  • PIP setzt das Paket immer wieder ein, wenn es um eine spezifische SVN-Revision geht
  • Pip-Installation für beide Pythons
  • Pufferspeicher entfernen?
  • One Solution collect form web for “Hash-Salz für einzelne Anrufe einstellen”

     import hashlib def getHash(name): m = hashlib.md5() m.update(name) return m.hexdigest() 
    Python ist die beste Programmiersprache der Welt.