기존 Excel 파일 (.xlsx 형식)을 암호화했지만 Encryt Excel 파일을 .xls 형식으로 인코딩하는 방법을 모르고 있습니다. 그리고 나서 .xls를 암호화하지만 Excel 파일 (.xls)을 암호화하고 싶습니다.이미 생성 된 .xls 파일을 암호화 (암호로 보호)하는 방법
나는 이러한 작업을 위해 POI를 사용했습니다.
if(!CSVToEXCEL.pw.equals("NA")){
if(CSVToEXCEL.oformat.equals("xlsx")){
POIFSFileSystem fs = new POIFSFileSystem();
EncryptionInfo info = new EncryptionInfo(fs, EncryptionMode.agile);
Encryptor enc = info.getEncryptor();
enc.confirmPassword(CSVToEXCEL.pw);
OPCPackage opc = OPCPackage.open(new File(CSVToEXCEL.opath), PackageAccess.READ_WRITE);
OutputStream os = enc.getDataStream(fs);
opc.save(os);
opc.close();
FileOutputStream fos = new FileOutputStream(CSVToEXCEL.opath);
fs.writeFilesystem(fos);
System.out.println("File created..."+CSVToEXCEL.opath);
fos.close();
}
else {
// if file is of '.xls' format
System.out.println("xls cannot be Encrypted...");
ZipAndProtectReport zipAndProtectReport = new ZipAndProtectReport();
String xlsoutputzip = zipAndProtectReport.ZipAndProtectMethod(CSVToEXCEL.opath,CSVToEXCEL.pw);
System.out.println("Zip Created..... path: "+xlsoutputzip);
}
}
else
System.out.println("File Created....."+CSVToEXCEL.opath);
}
CSVToEXCEL
는 CSVToEXCEL.pw 암호 ZipAndProtectReport가 완봉하고 비밀 보호를위한 또 다른 클래스이다 CSVToEXCEL.opath 출력 경로 위치이며, 클래스 이름이다.내가 어떻게 .xls를 지퍼로 잠그지 않고 암호로 보호 할 수 있는지 알고 싶습니다.
[비밀번호 보호 및 암호화에 대한 Apache POI 문서를 읽어 보셨습니까] (https://poi.apache.org/encryption.html)? 그렇지 않다면, 당신은 어떻게됩니까? – Gagravarr
예, 나는 이미 그것을 읽었고 작동하지 않았습니다. 지금까지 내가 발견 한 것은 단지 일부 EasyXLS API가 이것을 할 수 있다는 것이다. –