me.icymint.libra.jdbc.mask.Mask Maven / Gradle / Ivy
package me.icymint.libra.jdbc.mask;
/**
* 数据库加密方法,其用于加密数据库中的数据表及其字段和存储过程中的数据表名称和字段名称。
*
* @author Daniel Yu
* @since 2012-9-20
*
*/
public interface Mask {
/**
* 默认屏蔽码。
*/
Mask DEFAULT = new DefaultMask();
/**
* 字段解密。
*
* @param encode
* @param key
*/
String decode(String encode, String key);
/**
* 获取信息摘要码。
*
* @param str
*/
String digest(String str);
/**
* 字段加密。
*
* @param source
* @param key
*/
String encode(String source, String key);
/**
* 字段屏蔽。要求该屏蔽返回的结果依然满足名称的要求,即首字符必须为字母或者下划线。
*
* @param str
*/
String mask(String str);
}