package com.asc.test;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;
public class TestFileAsc {
/**
* 解密
*
* @param byteArray
* @return
*/
public byte[] ascTest(byte[] byteArray) {
try {
SecretKeySpec skeySpec = new SecretKeySpec(
"AgilesClientLons".getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, skeySpec);
byte[] decryptTemp = cipher.doFinal(byteArray);
return decryptTemp;
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchPaddingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidKeyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BadPaddingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/**
* file change byte
*
* @param f
* @return
*/
public byte[] getBytesFromFile(File f) {
if (f == null) {
return null;
}
try {
FileInputStream stream = new FileInputStream(f);
ByteArrayOutputStream out = new ByteArrayOutputStream(2046);
byte[] b = new byte[2046];
int n;
while ((n = stream.read(b)) != -1) {
out.write(b, 0, n);
}
stream.close();
out.close();
return out.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* byte change file
*
* @param b
* @param outputFile
* @return
*/
public boolean getFileFromBytes(byte[] b, String outputFile) {
BufferedOutputStream stream = null;
File file = null;
try {
file = new File(outputFile);
if (!file.exists()) {
file.mkdirs();
}
FileOutputStream fstream = new FileOutputStream(file);
stream = new BufferedOutputStream(fstream);
stream.write(b);
return true;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (stream != null) {
try {
stream.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
return false;
}
public static void main(String[] args) {
TestFileAsc testFileAsc = new TestFileAsc();
String filePath = "d://20110307115020172_TSKF_SAL_CUR_20110307030817.xls";
File file = new File(filePath);
byte[] ascByte = testFileAsc.getBytesFromFile(file);
byte[] outByte = testFileAsc.ascTest(ascByte);
String outPutFilePath = "e://data//txt.txt";
if(testFileAsc.getFileFromBytes(outByte, outPutFilePath)){
System.out.println("====file mkdirs ok" );
}
}
}
ASCTest
最新推荐文章于 2024-06-28 20:25:26 发布