本页内容
设置密码
PDF 权限模块通过提供加密、文档权限、解密和密码移除功能来确保文档安全性,允许用户对文档进行安全的控制和管理。
加密
加密功能由两部分组成:用户密码和所有者密码。
- 用户密码 用于打开文档,确保只有授权用户可以访问内容。当设置用户密码时,通常会限制某些文档权限,例如修改、复制或打印。
- 所有者密码 不仅可以打开文档,还可以解锁所有受限权限,允许用户修改、复制或打印文档。
这种双重密码系统旨在提供更加灵活且安全的文档访问与管理方式。
ComPDFKit 提供多种加密算法与权限设置。根据需求,您可以选择适当的算法并配置自定义权限以保护文档。
加密步骤如下:
- 设置不同的用户密码和所有者密码。
- 创建权限信息类。
- 指定加密算法。
- 使用用户密码、所有者密码、权限信息和指定的算法加密文档。
- 保存文档。
以下示例展示了如何加密文档:
tsx
const CPDFReaderViewExampleScreen = () => {
const pdfReaderRef = useRef<CPDFReaderView>(null);
const [samplePDF] = useState(
(Platform.OS === 'android'
? 'file:///android_asset/PDF_Document.pdf'
: 'PDF_Document.pdf')
);
return (
<View style={{ flex: 1 }}>
<Button title='Set Password' onPress={async () => {
var document = pdfReaderRef.current?._pdfDocument;
const allowsPrinting = false;
const allowsCopy = false;
const result = await document?.setPassword(
'1234', //文档开启密码
'4321', //所有者密码
allowsPrinting,
allowsCopy,
CPDFDocumentEncryptAlgo.AES128);
console.log('ComPDFKit-RN setPassword:', result);
}}></Button>
<CPDFReaderView
ref={pdfReaderRef}
document={samplePDF}
configuration={ComPDFKit.getDefaultConfig({
toolbarConfig: {
mainToolbarVisible: true,
iosLeftBarAvailableActions: [
CPDFToolbarAction.THUMBNAIL
]
}
})}
/>
</View>
);
};
不同加密算法
加密算法 | 描述 | 枚举值 |
---|---|---|
No Encrypt Algo | 不进行加密 | CPDFDocumentEncryptAlgo.noEncryptAlgo |
RC4 | 基于密钥的异或加密明文 | CPDFDocumentEncryptAlgo.rc4 |
AES-128 | 使用 128 位密钥的 AES 加密 | CPDFDocumentEncryptAlgo.aes128 |
AES-256 | 使用 256 位密钥的 AES 加密 | CPDFDocumentEncryptAlgo.aes256 |