Changeset 37b5d11 in flexoentity for org/FlexoEntity.org
- Timestamp:
- 10/25/25 12:06:04 (3 months ago)
- Branches:
- master
- Children:
- c98728b
- Parents:
- 33be5a0
- File:
-
- 1 edited
-
org/FlexoEntity.org (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
org/FlexoEntity.org
r33be5a0 r37b5d11 6 6 ** Was ist ein Hash? 7 7 8 Ein Hash ist wie eine Art eindeutige Kennnummer oder ein"Fingerabdruck" für Daten, der8 Ein Hash ist ein hoffentlich eindeutiger "Fingerabdruck" für Daten, der 9 9 sich aus eben diesen Daten über den Algorithmus einer Hash-Funktion errechnet. 10 11 Die Eingabedaten bezeichnet man als Seed, das Ergebnis als Digest. 12 13 Man gibt die Saat (das Futter) an die Hashfunktion zum Zerkauen/Zerkleinern (Hashen), 14 das wird verdaut, nebenbei noch gewürzt (Salt) und kommt als Digest wieder heraus. 15 Die Länge der Ausgabe ist fest. 16 17 ** Ein wichtiger Punkt 18 19 Wichtig ist auch zu verstehen, dass Hashes sogenannte "One-Way-Funktionen" sind. 20 Das heißt, man kann das Hashing nicht einfach umkehren, um das ursprüngliche Objekt wiederherzustellen. 21 Ein Hash ist also eine Einbahnstraße: Er dient nur dazu, die Daten zu repräsentieren, 22 aber man kann nicht vom Hash auf die originalen Daten zurückrechnen. 23 Aus Kacke kann man kein Essen zaubern. 10 24 11 25 ** Was ist kein Hash? … … 32 46 hat sich etwas geändert. Das spart enorm viel Aufwand. 33 47 34 ** Ein wichtiger Punkt35 36 Wichtig ist auch zu verstehen, dass Hashes sogenannte "One-Way-Funktionen" sind.37 Das heißt, man kann das Hashing nicht einfach umkehren, um das ursprüngliche Objekt wiederherzustellen.38 Ein Hash ist also eine Einbahnstraße: Er dient nur dazu, die Daten zu repräsentieren,39 aber man kann nicht vom Hash auf die originalen Daten zurückrechnen.40 41 48 ** Beispiele für den Einsatz von Hashes 42 49 … … 48 55 root:$6$tsicHaoV3Q$YtAbiIvrHGXFtAJYz9tcEYWHXiGVQ40sJAgzPAbc57lIq9jH8eYjWXwctSW6YQnrMznRFcm6yXLnnY9mHhso20 49 56 enno:$6$sdygzfEgx0$YpaZJMQdkZgxGPclphz6RojqNG.PSNEq1oIHRP4kvZRN2iuS5MQrxt0nCkrYQIcpDGyohrb1o0S/GkWrFriWL1 57 58 Der Hash ist länger als das Passwort. Das dient der Sicherheit, weil man zwar nicht zurückrechnen, 59 wohl aber vorwärtsrechnen kann. Hash-Funktionen sind deterministisch. 60 Bei Linux-Passworteinträgen hat man hier $6$ den Hashalgorithmus kodiert, im daraufolgendem $.....$ das Salz 61 und im Rest den eigentlichen Hash kodiert 50 62 51 63 - **Git-Commits**: In Versionskontrollsystemen wie Git werden Hashes benutzt, um jeden Schwung an … … 168 180 erreicht haben. Ein Zertifikat kann nur ausgestellt werden, wenn der passende Einstufungstest die Stufe 169 181 Veröffentlicht hat. Das origin-Feld des Zertifikats sollte sinnvollerweise die ID des Tests enthalten. 170 182 171 183 ** Erhöhung der Versionsnummer oder neue ID 172 184 173 185 Sobald - aus Gründen - eine neue ID vergeben werden muss, wird ggf. die Ursprungs-ID 174 186 im Feld origin der neuen FlexoEntity gespeichert. So ist immer ein Suchen im Stammbaum möglich. 187 188 AF-Q251022-70F759@001D 189 │ │ │ │ │ │ 190 │ │ │ │ │ └── State (Draft, Approved, Signed, Published, Obsolete) 191 │ │ │ │ └──── Version 192 │ │ │ └────────── Hash (3 bytes, 6 Stellen) 193 │ │ └────────────────── Date (YYMMDD) 194 │ └──────────────────── Entity type (Question) 195 └─────────────────────── Domain (e.g. Air force) 196 175 197 176 198 Eine einfache Erhöhung der Versionsnummer (am Ende der ID) ist unter Umständen auch ausreichend, … … 178 200 für das Projekt FlexoGrader recht umfangreich und soll hier nicht weiter besprochen werden. 179 201 Da es aber im Hintergrund passiert und vom Endanwender nicht bemerkt wird, behindert der 180 Mechanismus die Nutzung des FlexoGrader (TM) nicht. 181 202 Mechanismus die Nutzung des FlexoGrader nicht. 203 204 ** Reifegrad 205 206 Das Konzept und Design hat die Alpha-Phase verlassen, der Code ist aber noch deutlich Beta. 207 RC1 etwa Anfang Dezember (nach meinem Urlaub). Änderungen an der FlexOID sind nicht mehr zu erwarten, beim API der FlexoEntity schon eher. 208 209 Das Perfekte ist der Feind des Guten, aber ... 210 211 Als Gegenbeispiel für unausgereiftes Design ist Pythons eingebaute datetime Bibliothek. 212 Da könnte man ein Buch drüber schreiben. Halb Drama, halb Komödie. 213 214 - dateutil, arrow, pendulum, maya, moment, delorean, pytz, zoneinfo + numpy/pandas 215 182 216 ** Lizenz 183 217
Note:
See TracChangeset
for help on using the changeset viewer.
