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 Hasher implements Transformer, Named { @Override public String transform(String value) { if (StringUtils.isBlank(value)){ return ""; } return hash(value); } protected abstract String hash(String value); @Override public String untransform(String value) { throw new UnsupportedOperationException(); } @Override public boolean compare(String plainText, String hashed) { return compareInternal(plainText, hashed); } protected abstract boolean compareInternal(String plainText, String hashed); }