save
This commit is contained in:
@@ -157,14 +157,25 @@ 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();
|
||||
FutureTask<byte[]> taskEnc = builder.getLongLinkWorks().fTask(new Callable<byte[]>() {
|
||||
@Override
|
||||
public byte[] call() throws Exception {
|
||||
return builder.get().SYD_SM4_ShortData(iEncKeyIndex, pcData, Consts.ECB_ENC);
|
||||
}
|
||||
});
|
||||
|
||||
byte[] enData = taskEnc.get();
|
||||
|
||||
FutureTask<String> taskMac = builder.getLongLinkWorks().fTask(new Callable<String>() {
|
||||
@Override
|
||||
public String call() throws Exception {
|
||||
return builder.get().SYD_SM4Mac_ShortData(iMacKeyIndex, enData);
|
||||
}
|
||||
});
|
||||
|
||||
String mac = taskMac.get();
|
||||
return new DataAndMac(enData, mac);
|
||||
} catch (Exception e) {
|
||||
throw new SydApiException("并行任务执行失败", 0xC101, e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user