本文整理汇总了Java中org.apache.poi.poifs.crypt.Decryptor.verifyPassword方法的典型用法代码示例。如果您正苦于以下问题:Java Decryptor.verifyPassword方法的具体用法?Java Decryptor.verifyPassword怎么用?Java Decryptor.verifyPassword使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.poi.poifs.crypt.Decryptor
的用法示例。
在下文中一共展示了Decryptor.verifyPassword方法的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);
}
}
示例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);
}
}
示例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.");
}
}