配置完加密服务实例后,您可以通过调用加密服务API来使用加密服务实例。

在调用加密服务API时,如需参考API手册,您可以提交工单获取。

加密服务样例:
package TassHsmApihsmGeneralFinance_all;

import java.util.Arrays;

import cn.tass.exceptions.TAException;
import cn.tass.hsmApi.hsmGeneralFinance.hsmGeneralFinance;
import cn.tass.kits.Forms;
/**
 * 对称数据加解密测试用例。
 * @author cyz
 *
 */
public class DataEncAndDec {
    public static void main(String[] args) throws TAException {
        hsmGeneralFinance test = hsmGeneralFinance.getInstance("D:\\cacipher.ini");
        String str="要加密的数据"
        int algType = 0;//ECB模式。
        String keyType = "00A";//密钥类型固定。
        String symmKey = "RA7FB5D292C8E9A691657E78F9E8AF5C4";//执行加密的对称密钥密文,您也可以使用加密机内部的索引密钥,使用内部密钥时为int类型。
        String disperFactor = null;
        int sessionType = 0;
        String sessionFactor = null;
        int padFlag = 4;//遵循PKCS#5的填充方式。
        byte [] inData = str.getBytes();
        String IV = null;
        byte [] symmEnc = test.generalDataEnc(algType, keyType, symmKey, disperFactor, sessionType, sessionFactor, padFlag, inData, IV);
        System.out.println("16进制字符串输出对称加密结果:"+Forms.byteToHexString(symmEnc)+",如果进行解密,可使用接口功能函数'Forms.hexStringToByte()'将16进制字符串转换为byte[]参与解密。");
        byte [] symmDec = test.generalDataDec(algType, keyType, symmKey, disperFactor, sessionType, sessionFactor, padFlag, symmEnc, IV);
        System.out.println("解密结果与加密数据比较结果:"+Arrays.equals(symmDec, inData));
        System.out.println("还原解密结果,通过字符集还原原文:"+new String(symmDec));

    }
}

如果您需要参考更多的SDK样例,请提交工单获取。