package io.ebean.config.dbplatform;
Defines DB encryption support for encrypting and decrypting data using DB
encryption features.
As an alternative to using DB encryption you can encrypt/decrypt in java via
a special ScalarType but this has the limitation that you can't include that
property in query where clauses.
Author: rbygrave
/**
* Defines DB encryption support for encrypting and decrypting data using DB
* encryption features.
* <p>
* As an alternative to using DB encryption you can encrypt/decrypt in java via
* a special ScalarType but this has the limitation that you can't include that
* property in query where clauses.
* </p>
*
* @author rbygrave
*/
public interface DbEncrypt {
// /**
// * Return the SQL for decrypting a column returning a VARCHAR.
// */
// String getDecryptSql(String columnWithTableAlias);
//
// /**
// * Return the DB function with bind variables used to encrypt a VARCHAR
// * value.
// */
// String getEncryptBindSql();
DbEncryptFunction getDbEncryptFunction(int jdbcType);
Return the DB type that encrypted Strings are stored in.
This is VARCHAR for MySql and VARBINARY for most others.
/**
* Return the DB type that encrypted Strings are stored in.
* <p>
* This is VARCHAR for MySql and VARBINARY for most others.
* </p>
*/
int getEncryptDbType();
Return true if the DB encrypt function binds the data before the key.
/**
* Return true if the DB encrypt function binds the data before the key.
*/
boolean isBindEncryptDataFirst();
}