添加接口

This commit is contained in:
Cheney Wong
2025-06-09 17:04:38 +08:00
parent 1a23046250
commit 5d1dc5c31f
10 changed files with 323 additions and 8 deletions
@@ -154,6 +154,66 @@ public class SydApiLongLinkWrap implements SydApi {
}
}
@Override
public DataAndMac SYD_SM4_EncryptAndMac_ShortData(int iEncKeyIndex, int iMacKeyIndex, byte[] pcData) {
FutureTask<DataAndMac> task = builder.getLongLinkWorks().fTask(new Callable<DataAndMac>() {
@Override
public DataAndMac call() throws Exception {
return builder.get().SYD_SM4_EncryptAndMac_ShortData(iEncKeyIndex, iMacKeyIndex, pcData);
}
});
try {
return task.get();
} catch (Exception e) {
throw new SydApiException("并行任务执行失败", 0xC101, e);
}
}
@Override
public byte[] SYD_SM4_CheckMacAndDecrypt_ShortData(int iEncKeyIndex, int iMacKeyIndex, byte[] pcData, String mac) {
FutureTask<byte[]> task = builder.getLongLinkWorks().fTask(new Callable<byte[]>() {
@Override
public byte[] call() throws Exception {
return builder.get().SYD_SM4_CheckMacAndDecrypt_ShortData(iEncKeyIndex, iMacKeyIndex, pcData, mac);
}
});
try {
return task.get();
} catch (Exception e) {
throw new SydApiException("并行任务执行失败", 0xC101, e);
}
}
@Override
public List<DataAndMac> SYD_SM4_EncryptAndMac_BatchData(int[] iEncKeyIndex, int[] iMacKeyIndex, List<byte[]> pcData) {
FutureTask<List<DataAndMac>> task = builder.getLongLinkWorks().fTask(new Callable<List<DataAndMac>>() {
@Override
public List<DataAndMac> call() throws Exception {
return builder.get().SYD_SM4_EncryptAndMac_BatchData(iEncKeyIndex, iMacKeyIndex, pcData);
}
});
try {
return task.get();
} catch (Exception e) {
throw new SydApiException("并行任务执行失败", 0xC101, e);
}
}
@Override
public List<DataAndMacCheck> SYD_SM4_CheckMacAndDecrypt_BatchData(int[] iEncKeyIndex, int[] iMacKeyIndex, List<DataAndMac> pcData) {
FutureTask<List<DataAndMacCheck>> task = builder.getLongLinkWorks().fTask(new Callable<List<DataAndMacCheck>>() {
@Override
public List<DataAndMacCheck> call() throws Exception {
return builder.get().SYD_SM4_CheckMacAndDecrypt_BatchData(iEncKeyIndex, iMacKeyIndex, pcData);
}
});
try {
return task.get();
} catch (Exception e) {
throw new SydApiException("并行任务执行失败", 0xC101, e);
}
}
@Override
public ISM4 initSM4(int iKeyIndex, int ende) {
return new SydSM4(this, iKeyIndex, ende);