package hamaster.gradesgin.util; import hamaster.gradesgin.ibe.IBEConstraints; import java.io.Serializable; /** * 定义将数据使用密码加密后存储的接口 * @author <a href="mailto:wangyeee@gmail.com">Wang Ye</a> */ public interface IBECapsule extends Serializable, IBEConstraints { /** * 设置加密数据 * @param data 要加密的数据 */ void protect(byte[] data); /** * 把一个实现接口的类加密存储 * @param object 要存储的类 */ void protect(Serializable object); /** * @return 原始数据 */ byte[] getData(); /** * @return 原始类 */ Object getDataAsObject() throws ClassNotFoundException; /** * 设置加密密钥 * @param key 密钥 */ void setKey(byte[] key); /** * @return 哈希算法名称 */ String getHashAlgorithm(); /** * @return 加密算法名称 */ String getCrypto(); }