andere Methode, die auch die Zeichenfolge verkürzen würde die md5/SHA1-Hash der Zeichenfolge (mit einem Samen verketteten wenn man wollte) wäre zu berechnen:
import hashlib
>>> hashlib.sha1("12234_1_Hello'World_34433_22acb_4554344_accCC44").hexdigest()
'e1153227558aadc00a2e90b5013fdd6b0804fdfb'
In der Theorie sollten Sie eine bekommen Satz von Strings mit sehr wenigen Kollisionen und mit einer festen Länge. Die Bibliothek hashlib
verfügt über ein Array verschiedener Hash-Funktionen, die Sie auf diese Weise verwenden können, mit unterschiedlichen Ausgabegrößen.
Edit: Sie sagten auch, dass Sie eine reversible Zeichenfolge benötigt, so dass dies nicht funktionieren würde. Afaik, jedoch, viele Web-Plattformen, die saubere URLs verwenden, wie Sie scheinen zu implementieren Hash-Funktionen zu verwenden, um eine verkürzte URL zu berechnen und speichern Sie diese URL zusammen mit den anderen Daten der Seite, um die Reverse-Lookup-Funktion bereitzustellen.
Bitte beachten Sie, Verschlüsselung („Ich möchte ... verschlüsseln“) nicht kodiert ("Gibt es eine API codieren ... "). Sie haben eine Antwort akzeptiert, die die base64-Codierung verwendet. Dies ist keine Verschlüsselung, d. H. Diese Daten sind nicht sicher. – hiwaylon
@ VN44CA, eine verschlüsselte Abfragezeichenfolge und eine saubere URL sind nicht die gleichen Bedenken. Eine verschlüsselte Abfragezeichenfolge ist von Natur aus nicht sauber. So wie es aussieht, ist die Frage sehr schlecht formuliert. –