---
title: Hashing und Kodierung
slug: campaign/docs/hashing-und-kodierung
docTags: 
createdAt: 2026-08-06T15:53:51.253Z
---

Dieses Kapitel beschreibt, wie Sie mittels Feldfunktionen Daten kodieren und Hash-Werte erzeugen können.

:::hint{type="info"}
**Note**

Verwenden Sie Ihre spezifischen Daten und Empfängerlistenfelder, und testen Sie die Feldfunktionen, bevor Sie sie in einem Mailing verwenden.
:::

## Base64

Base64 ist eine Kodierungsmethode, um Daten nicht im Klartext anzuzeigen.

:::hint{type="info"}
**Note**

Base64 ist keine Verschlüsselungsmethode, da Sie die kodierten Daten einfach dekodieren können.
:::

Um den Inhalt eines Empfängerlistenfeldes mittels Base64 zu kodieren, können Sie folgenden Velocity-Code als Standard-Ersetzung verwenden:

```velocity
#if(!$StringHelper.isEmpty($!user.data.RECIPIENTLISTFIELD))${bmMisc.encodeBase64($user.data.RECIPIENTLISTFIELD)}#end
```

:::hint{type="info"}
**Tip**

Da der Inhalt von Empfängerlistenfeldern auch leer (unbekannt, NULL-Wert) sein kann, wandelt das Code-Beispiel mögliche NULL-Werte in leere String-Werte um.
:::

## MD5

MD5 ist eine Hash-Methode, mit der Sie Prüfsummen erstellen können, um zum Beispiel die Integrität von Daten zu überprüfen.

:::hint{type="info"}
**Note**

MD5 ist keine Verschlüsselungsmethode. Das Hashing ist nicht umkehrbar. Zudem ist MD5 nicht kollisionsfrei, da unterschiedliche Eingaben zum selben Hash-Wert führen können.
:::

Die folgenden Feldfunktionsvorlagen verwenden zusätzlich einen Schlüssel (key), um den Sicherheitsfaktor zu erhöhen:

### Velocity

```velocity
#set ($key = "1234567890")#set ($string = "STRINGWERT$key")$StringHelper.md5($string)
```

### ODR

```html
<odr:set var="key" value="1234567890" /><odr:set var="string" value="STRINGWERT%{key}" /><odr:out value="%{md5(string)}" />
```

## MD5 und Base64

Der folgende Velocity-Code verwendet einen Schlüssel (`0123456789`) für das MD5-Hashing. Mittels Base64 werden die Empfängerdaten kodiert. Zudem überprüft der Code, ob das Empfängerlistenfeld leer ist. Die Funktion `$StringHelper.md5()` erzeugt abschließend einen Hash-Wert aus den aneinandergereihten Base64-Werten.

```velocity
#set($key = "0123456789")#set($email = "$bmMisc.encodeBase64($!user.data.email)")#if(!$StringHelper.isEmpty($!user.data.salutation))  #set($salutation = "$bmMisc.encodeBase64($!user.data.salutation)")#end#if(!$StringHelper.isEmpty($!user.data.firstname))  #set($firstname = "$bmMisc.encodeBase64($!user.data.firstname)")#end#if(!$StringHelper.isEmpty($!user.data.lastname))  #set($lastname = "$bmMisc.encodeBase64($!user.data.lastname)")#end#if(!$StringHelper.isEmpty($!user.data.sender))  #set($sender = "$bmMisc.encodeBase64($!user.data.sender)")#end#set($name = "$bmMisc.encodeBase64($mailing.name)")#if(!$StringHelper.isEmpty($!user.data.shopsource))  #set($shopsource = "$bmMisc.encodeBase64($!user.data.shopsource)")#end#set($string = "$!email$!salutation$!firstname$!lastname$!sender$!name$!shopsource$!key")$StringHelper.md5("$string")
```

## SHA256

SHA256 ist eine weitere Methode, um aus Empfängerdaten Hash-Werte zu erzeugen.

:::hint{type="info"}
**Note**

SHA256 kann in Velocity nur String-Werte verarbeiten.
:::

Um den Inhalt eines Empfängerlistenfeldes mittels SHA256 zu kodieren, können Sie folgenden Velocity-Code als Standard-Ersetzung verwenden:

```velocity
#set($string = "STRINGWERT")$StringHelper.sha256($string)
```

## SHA256 und Base64

Der folgende Velocity-Code verwendet SHA256 und Base64, um die E-Mail-Adresse des Empfängers zu kodieren:

```velocity
${bmMisc.hashSha256AndEncodeBase64($user.data.email)}
```
