package com.sunyard.sge.database; import java.util.List; /** * 上海黄金交易所 - 数据库加密方案 * */ public interface SydApi { void warmUpMode(boolean use); /** * 建立到指定地址和端口号的签名服务器的 TCP/IP 连接,返回 API 操作对象 SydApi。 * 如果采用短连接,交易结束,要调用 SydApi 的方法SYD_Disconnect_Ex 进行释放连接。 * * @param pcIpList 签名服务器的IP地址 * @param iPortList 签名服务器的端口号 * @param iConnectTimeOut 连接超时,单位毫秒。 * @param iDealTimeOut 交易接口超时设定,单位毫秒(不超过10ms)。 * @return SydApi 的对象,只要有设备可用则返回。 */ SydApi SYD_Connect_Ex( String[] pcIpList, int[] iPortList, int iConnectTimeOut, int iDealTimeOut ); /** * 关闭与签名服务器的TCP/IP连接 */ void SYD_Disconnect_Ex(); /** * 对指定数据进行SM4加解密处理。 * @param iKeyIndex 会话密钥索引值 * @param pcData 报文密文或明文。 * @param iFlag 加解密标识,0:表示ECB解密;1:表示ECB加密 * @return 报文明文或密文。 */ byte[] SYD_SM4_ShortData( int iKeyIndex, byte[] pcData, int iFlag ); /** * 对指定批量数据进行SM4加解密处理。 * * @param iKeyIndex 会话密钥索引值数组 * @param pcData 要加密的报文明文或密文数组。 * @param iFlag 加解密标识,0:表示ECB解密;1:表示ECB加密 * @return List对象,List 的长度与输入参数 pcData 的长度相同。 */ List SYD_SM4_BatchData( int[] iKeyIndex, List pcData, int iFlag ); }