package io.cattle.platform.framework.encryption; import io.cattle.platform.util.type.Named; import io.github.ibuildthecloud.gdapi.model.Transformer; import org.apache.commons.lang3.StringUtils; public abstract class Encrypter implements Transformer, Named { @Override public boolean compare(String plainText, String encrypted) { return EncryptionUtils.isEqual(decrypt(encrypted), plainText); } @Override public String transform(String value){ if (StringUtils.isBlank(value)){ return ""; } return encrypt(value); } @Override public String untransform(String value){ if (StringUtils.isBlank(value)){ return ""; } return decrypt(value); } protected abstract String encrypt(String plainText); protected abstract String decrypt(String encrypted); }