本文整理汇总了Java中org.apache.poi.poifs.crypt.Decryptor类的典型用法代码示例。如果您正苦于以下问题:Java Decryptor类的具体用法?Java Decryptor怎么用?Java Decryptor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Decryptor类属于org.apache.poi.poifs.crypt包,在下文中一共展示了Decryptor类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: decrypt
import org.apache.poi.poifs.crypt.Decryptor; //导入依赖的package包/类
public static XSSFWorkbook decrypt(InputStream input, String password)
throws IOException {
POIFSFileSystem filesystem = new POIFSFileSystem(input);
EncryptionInfo info = new EncryptionInfo(filesystem);
Decryptor d = Decryptor.getInstance(info);
try {
if (!d.verifyPassword(password)) {
throw new RuntimeException(
"Unable to process: document is encrypted");
}
InputStream dataStream = d.getDataStream(filesystem);
// parse dataStream
return new XSSFWorkbook(dataStream);
} catch (GeneralSecurityException ex) {
throw new RuntimeException("Unable to process encrypted document",
ex);
}
}
开发者ID:utluiz,项目名称:poi-security,代码行数:26,代码来源:XlsxDecryptor.java
示例2: convertEncryptedXlsx2DecryptedXlsx
import org.apache.poi.poifs.crypt.Decryptor; //导入依赖的package包/类
public static InputStream convertEncryptedXlsx2DecryptedXlsx(InputStream is)
throws IOException {
POIFSFileSystem fs = new POIFSFileSystem(is);
EncryptionInfo info = new EncryptionInfo(fs);
Decryptor d = Decryptor.getInstance(info);
try {
d.verifyPassword(Decryptor.DEFAULT_PASSWORD);
InputStream dataStream = d.getDataStream(fs);
return dataStream;
} catch (GeneralSecurityException e) {
throw new IOException(e);
}
}
开发者ID:ykaragol,项目名称:poi-data-validation,代码行数:14,代码来源:DataValidatorTest.java
示例3: signEncryptedPackage
import org.apache.poi.poifs.crypt.Decryptor; //导入依赖的package包/类
private void signEncryptedPackage(InputStream tmpFileInputStream, SignatureConfig sc, String password) throws IOException, InvalidFormatException, FormatNotUnderstoodException, XMLSignatureException, MarshalException {
NPOIFSFileSystem poifsTemp = new NPOIFSFileSystem(tmpFileInputStream);
EncryptionInfo info = new EncryptionInfo(poifsTemp);
Decryptor d = Decryptor.getInstance(info);
try {
if (!d.verifyPassword(password)) {
throw new FormatNotUnderstoodException("Error: Cannot decrypt new Excel file (.xlsx) for signing. Invalid password");
}
// signing
OPCPackage pkg = OPCPackage.open(d.getDataStream(poifsTemp));
sc.setOpcPackage(pkg);
SignatureInfo si = new SignatureInfo();
si.setSignatureConfig(sc);
si.confirmSignature();
// encrypt again
Encryptor enc = info.getEncryptor();
enc.confirmPassword(password);
NPOIFSFileSystem poifs = new NPOIFSFileSystem();
OutputStream os = enc.getDataStream(poifs);
pkg.save(os);
pkg.close();
if (os!=null) {
os.close();
}
poifs.writeFilesystem(this.finalOutputStream);
if (poifs!=null) {
poifs.close();
}
if (poifsTemp!=null) {
poifsTemp.close();
}
} catch (GeneralSecurityException e) {
LOG.error(e);
throw new FormatNotUnderstoodException("Error: Cannot decrypt new Excel file (.xlsx) for signing.");
}
}
开发者ID:ZuInnoTe,项目名称:hadoopoffice,代码行数:39,代码来源:MSExcelOOXMLSignUtil.java
注:本文中的org.apache.poi.poifs.crypt.Decryptor类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论