diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilder.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilder.java
index e72f995476d93e663608c0152cbffb56908a3043..070fdbf3b593c966ddf462c0a7c45e48bf10f7ca 100644
--- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilder.java
+++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilder.java
@@ -1,5 +1,7 @@
 package de.ozgcloud.operator.keycloak.user;
 
+import java.util.Base64;
+
 import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.stereotype.Component;
 
@@ -20,14 +22,18 @@ class UserSecretBuilder {
 				.withType(SECRET_TYPE)
 				.withMetadata(createMetaData(name, namespace))
 				.addToStringData(SECRET_NAME_FIELD, userSpec.getUsername())
-				.addToStringData(SECRET_PASSWORD_FIELD, generatePassword())
+				.addToData(SECRET_PASSWORD_FIELD, generatePassword())
 				.build();
 	}
 
 	String generatePassword() {
 		var upperCaseCharacter = RandomStringUtils.randomAlphabetic(1).toUpperCase();
 		var randomString = RandomStringUtils.randomAlphanumeric(7);
-		return upperCaseCharacter + randomString;
+		return encode(upperCaseCharacter + randomString);
+	}
+
+	String encode(String strValue) {
+		return new String(Base64.getEncoder().encode(strValue.getBytes()));
 	}
 
 	private ObjectMeta createMetaData(String name, String namespace) {
diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilderTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilderTest.java
index 7cfbbf8e13b7d2e1d89104616c6aa28a6550e372..0cc1d435be4aa4ae3b05cc6fe6f69abafd994087 100644
--- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilderTest.java
+++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilderTest.java
@@ -1,8 +1,11 @@
 package de.ozgcloud.operator.keycloak.user;
 
 import static org.assertj.core.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
+import java.util.Base64;
+
 import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
@@ -11,7 +14,7 @@ import org.mockito.Spy;
 
 import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecUser;
 
-public class UserSecretBuilderTest {
+class UserSecretBuilderTest {
 
 	private final static String NAME = "dummyName";
 	private final static String NAMESPACE = "dummyNamespace";
@@ -52,7 +55,7 @@ public class UserSecretBuilderTest {
 
 			var secret = builder.build(NAME, userSpec, NAMESPACE);
 
-			assertThat(secret.getStringData()).containsEntry(UserSecretBuilder.SECRET_PASSWORD_FIELD, SecretTestFactory.PASSWORD);
+			assertThat(secret.getData()).containsEntry(UserSecretBuilder.SECRET_PASSWORD_FIELD, SecretTestFactory.PASSWORD);
 		}
 
 		@DisplayName("metadata")
@@ -80,24 +83,35 @@ public class UserSecretBuilderTest {
 
 			@Test
 			void shouldHaveSize() {
-				var password = builder.generatePassword();
+				var password = decode(builder.generatePassword());
 
 				assertThat(password).hasSize(8);
 			}
 
 			@Test
 			void shouldHaveUpperCaseLetterAtFirst() {
-				var password = builder.generatePassword();
+				var password = decode(builder.generatePassword());
 
 				assertThat(StringUtils.substring(password, 0, 1)).isUpperCase();
 			}
 
 			@Test
 			void shouldContainsAlphanumericOnly() {
-				var password = builder.generatePassword();
+				var password = decode(builder.generatePassword());
 
 				assertThat(password).isAlphanumeric();
 			}
+
+			@Test
+			void shouldEncode() {
+				builder.generatePassword();
+
+				verify(builder).encode(any());
+			}
+
+			private String decode(String strValue) {
+				return new String(Base64.getDecoder().decode(strValue.getBytes()));
+			}
 		}
 	}
 }