Konvertieren MD5 base62 für URL

Habe ich ein Skript zur Konvertierung zur Basis 62 (A-Za-z0-9), aber wie bekomme ich eine Reihe von MD5?

Habe ich an vielen stellen zu Lesen, weil die Reihe aus einem MD5 ist größer als php verarbeiten kann, als ein integer-es wird ungenau... Wie will ich eine kurz-URL trotzdem und war nicht Planung über die Verwendung der der ganze hash, vielleicht auch nur 8 Zeichen davon....

Also meine Frage ist, wie man ein Teil von der Anzahl der ein MD5-hash?

Außerdem ist es eine schlechte Idee, nur einen Teil der MD5-hash?

  • md5 hash ist eine Zahl, also, was meinst du mit "Teil der Reihe"?
  • md5 ist eine Zahl, dargestellt in base36 Kodierung, dachte ich...
  • Sie sind halb rechts, ein md5-hash ist eine hex-Zahl dargestellt zur Basis 16 (a-f0-9).
  • Nein, md5() ist standardmäßig konvertiert Basis 16 (hex), aber man kann die raw-Ausgabe auch.
  • Ein md5 hash ist eine 128 bit Zahl. Die übliche Darstellung in hex, aber das ist nicht notwendig.
  • ok, so wie ich das konvertieren des hex eine Zahl? Ich weiß, dass die Zahl ist zu groß für die php so zu behandeln, sollte ich die Verwendung von substr und hexdec?
  • Ich bin mir dessen bewusst, dass, aber ich glaube nicht, dass er spricht über die raw-Darstellung der hash hier.
  • substr und hexdec wird nicht funktionieren, da Sie nicht berechnen kann die ganze Zahl, während, bricht es in mehrere Teile mit substr.
  • Mithilfe der Base64-machen Sache viel einfacher, weil es kodiert aufeinanderfolgende 3-byte-Blöcke.
  • base64 ist nicht vollständig kompatibel mit URLs.
  • aber wenn ich will nur einen Teil der hash-jedenfalls dann, was ist der Schaden in nur substr Teil und dann hexdec und dann base62 konvertieren?
  • Ich bin verwirrt, die Sie aufnehmen möchten, Teil der md5 (Basis 16) hash, es zu konvertieren in Basis 10 umwandeln und dann wieder zur Basis 62?
  • ja... es ist möglich, konvertieren gerade von 16 auf 62?
  • Ja, aber abhängig von der Größe der Zahl kann es nicht ausreichen, um auf eine float-variable geben, die ich Bearbeiten werde meine Antwort in Kürze.

InformationsquelleAutor Mark | 2009-12-10
Schreibe einen Kommentar