Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Digest-Operatoren

crc32, md5 und rot13 aus eZTemplateDigestOperator, dazu sha1, das die Klasse anbietet, das aber erst funktioniert, nachdem ein anderer Digest-Operator sie geladen hat; wofür sie in Templates gedacht sind und wofür…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/template-operators/digest-operators.md

On this page

This page is a translation. Read the English original

Digest-Operatoren

Prüfsummen und Hashwerte einer Zeichenkette, um IDs, Cache-Schlüssel oder Klassennamen zu bilden. Sie werden von eZTemplateDigestOperator (lib/eztemplate/classes/eztemplatedigestoperator.php) über lib/eztemplate/classes/eztemplateautoload.php registriert. Alle arbeiten mit der gepipten Eingabe und nehmen keine Parameter entgegen.

Inhalt

  1. Die Operatoren
  2. sha1 und die Autoload-Liste
  3. Wofür sie nicht gedacht sind
  4. Verwandte Seiten

Die Operatoren

md5

PHP md5(): 32 Hexadezimalziffern. Generierte Referenz: md5.

crc32

eZSys::ezcrc32() (lib/ezutils/classes/ezsys.php): PHP crc32(), als vorzeichenlose Zahl ausgegeben, wenn in site.ini [SiteSettings] 64bitCompatibilityMode=enabled gesetzt ist, sodass der Wert auf 32-Bit- und 64-Bit-PHP gleich ist. Generierte Referenz: crc32.

rot13

PHP str_rot13(): Jeder Buchstabe wird um 13 Stellen verschoben, andere Zeichen bleiben erhalten. Es verbirgt nichts; es verhindert nur, dass Text auf einen Blick gelesen wird. Generierte Referenz: rot13.

sha1

PHP sha1(): 40 Hexadezimalziffern. Lesen Sie den nächsten Abschnitt, bevor Sie ihn verwenden.

Für alle vier gilt: Eingabe ist die Zeichenkette (über die Pipe), keine Parameter, Rückgabe ist eine Zeichenkette (bei crc32 eine Zahl).

'Fit & Healthy'|md5 = {'Fit & Healthy'|md5}
'Fit & Healthy'|crc32 = {'Fit & Healthy'|crc32}
'Fit & Healthy'|rot13 = {'Fit & Healthy'|rot13}
'Fit & Healthy'|sha1 = {'Fit & Healthy'|sha1}

Ausgabe:

'Fit & Healthy'|md5 = 230d0ad476984ff3dba19ec739b09733
'Fit & Healthy'|crc32 = 2208743097
'Fit & Healthy'|rot13 = Svg & Urnygul
'Fit & Healthy'|sha1 = 2441fb64e95685d5f0064f97e86d06048e57a499

Eine kurze, stabile ID für ein Element, gebildet aus einem Knoten einer Entwicklungsinstallation (Knoten 89) und seiner aktuellen Version:

{def $node = fetch( 'content', 'node', hash( 'node_id', 89 ) )}
id-{concat( $node.node_id, '-', $node.object.current_version )|md5|extract_left( 8 )}

Ausgabe:

id-0c7e77db

sha1 und die Autoload-Liste

Die Klasse fügt sha1 ihrer Operatorliste hinzu, wenn PHP die Funktion hat, aber der Eintrag operator_names in lib/eztemplate/classes/eztemplateautoload.php führt nur crc32, md5 und rot13 auf. Die Engine lädt eine Operatorklasse bei der ersten Verwendung eines ihrer aufgeführten Namen, und das Laden registriert jeden Namen, den die Klasse anbietet. sha1 funktioniert also, nachdem md5, crc32 oder rot13 in derselben Anfrage verwendet wurde, wie im ersten Beispiel, und ist davor "not registered", wobei der Wert unverändert bleibt:

[{'Fit & Healthy'|sha1}]

Ausgabe:

[Fit & Healthy]

Von der Template-Engine protokolliert:

WARNING : Operator 'sha1' is not registered

Verwenden Sie md5, wenn Sie in einem Template einen Hashwert brauchen, oder registrieren Sie einen eigenen Operator (Operatoren registrieren).

Wofür sie nicht gedacht sind

Sie sind nicht für Passwörter, Signaturen oder irgendetwas gedacht, das ein Angreifer nicht fälschen darf: MD5 und SHA-1 sind für diese Zwecke gebrochen, und ein Template ist ohnehin der falsche Ort für Geheimnisse. Verwenden Sie sie nur für IDs und Cache-Schlüssel.

Die Beispiele lieferten auf einer Entwicklungsinstallation interpretiert und kompiliert dieselbe Ausgabe.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x