修改中文乱码,测试接口

This commit is contained in:
zhoubin
2021-10-18 17:22:14 +08:00
parent 0029fa1c26
commit b65f76aab8
5 changed files with 25 additions and 8 deletions
@@ -3,6 +3,8 @@ package com.sunyard.inf;
import com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException;
import com.sunyard.RetWrap;
import java.io.UnsupportedEncodingException;
/**
* 对称加解密相关接口
*/
@@ -300,7 +302,7 @@ interface SydSYMApi {
* @param outFilePath 解密后的数据文件所在的路径
* @return 解密是否成功。false为失败,true为成功
*/
boolean SM4DecryptFileDataCBC(int keyType, String key, int inType, int outType, String inFilePath, String outFilePath);
boolean SM4DecryptFileDataCBC(int keyType, String key, int inType, int outType, String inFilePath, String outFilePath) throws UnsupportedEncodingException;
/**
* 使用SM4算法进行解密,其中加密模式为CBC,
+2 -2
View File
@@ -65,9 +65,9 @@ public class FileUtil {
* @param data 数据
*/
public static void printDataToFile(String path, String data) {
OutputStreamWriter osw = null;
BufferedWriter osw = null;
try {
osw = new OutputStreamWriter(new FileOutputStream(path));
osw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path), "UTF-8"));
osw.write(data);
@@ -1608,7 +1608,7 @@ public class SydApi4j implements SydApi {
iv = niv;
//存储iv
retWrap.put("iv", iv);
System.out.println("下一iv长度:" + iv.length);
// System.out.println("下一iv长度:" + iv.length);
}
}
@@ -4318,7 +4318,7 @@ public class SydApi4j implements SydApi {
*/
// 测试通过
@Override
public boolean SM4DecryptFileDataCBC(int keyType, String key, int inType, int outType, String inFilePath, String outFilePath) {
public boolean SM4DecryptFileDataCBC(int keyType, String key, int inType, int outType, String inFilePath, String outFilePath) throws UnsupportedEncodingException {
byte[] msg = FileUtil.getDataFromFile(inFilePath);
@@ -4329,7 +4329,7 @@ public class SydApi4j implements SydApi {
// 调用加密接口将数据加密
byte[] result = SM4DecryptDataCBC(keyType, key, inType, outType, Util.hexString2Bytes(new String(msg)));
String str = new String(Util.hexString2Bytes(Util.bytes2HexString(result)));
String str = new String(result, "utf-8");
FileUtil.printDataToFile(outFilePath, str);