Foxit PDF SDK
foxit::pdf::StdSecurityHandler类 参考
类 foxit::pdf::StdSecurityHandler 继承关系图:
foxit::pdf::SecurityHandler foxit::Base

Public 类型

enum  ModifyFlag { e_ModifyPermission = 0x01, e_ModifyUserPassword = 0x02, e_ModifyOwnerPassword = 0x04 }
 (仅适用于AES-256)修改标志的枚举,用于决定在加密过程中哪些安全数据或密码将被修改 更多...
 
- Public 类型 继承自 foxit::pdf::SecurityHandler
enum  CipherType { e_CipherNone = 0, e_CipherRC4 = 1, e_CipherAES = 2 }
 加密算法的枚举。 更多...
 

Public 成员函数

 StdSecurityHandler ()
 构造函数。
 
 StdSecurityHandler (const foxit::pdf::SecurityHandler &other)
 构造函数,使用父类对象。 更多...
 
bool Initialize (const StdEncryptData &encrypt_data, const String &user_password, const String &owner_password)
 (不支持AES-256)初始化当前标准安全处理器。 更多...
 
bool InitializeW (const StdEncryptData &encrypt_data, const WString &user_password, const WString &owner_password)
 (仅适用于AES-256)初始化当前标准安全处理器。 更多...
 
void SetAES256ModifyFlags (uint32 modify_flags)
 (仅适用于AES-256)设置修改标志以决定在加密过程中哪些安全数据或密码将被修改。 更多...
 
- Public 成员函数 继承自 foxit::pdf::SecurityHandler
 SecurityHandler ()
 构造函数。
 
 SecurityHandler (const SecurityHandler &other)
 用另一个安全处理器对象的构造函数。 更多...
 
virtual ~SecurityHandler ()
 析构函数。
 
virtual PDFDoc::EncryptType GetSecurityType ()
 获取当前安全处理器的加密类型。 更多...
 
bool IsEmpty () const
 检查当前对象是否为空。 更多...
 
bool operator != (const SecurityHandler &other)
 不等于操作符。 更多...
 
SecurityHandleroperator= (const SecurityHandler &other)
 赋值操作符。 更多...
 
bool operator== (const SecurityHandler &other)
 等于操作符。 更多...
 
- Public 成员函数 继承自 foxit::Base
FS_HANDLE Handle () const
 获取当前对象的句柄。 更多...
 

详细描述

此类表示标准安全处理器,用于密码加密。

参见
SecurityHandler

成员枚举类型说明

◆ ModifyFlag

(仅适用于AES-256)修改标志的枚举,用于决定在加密过程中哪些安全数据或密码将被修改

此枚举的值可以单独使用或组合使用。

枚举值
e_ModifyPermission 

如果设置,在加密过程中将修改用户权限和"是否加密元数据"值(在 StdEncryptData 中定义)。

e_ModifyUserPassword 

如果设置,在加密过程中将修改用户密码和所有者密码。

e_ModifyOwnerPassword 

如果设置,在加密过程中将仅修改所有者密码。

构造及析构函数说明

◆ StdSecurityHandler()

foxit::pdf::StdSecurityHandler::StdSecurityHandler ( const foxit::pdf::SecurityHandler other)
explicit

构造函数,使用父类对象。

参数
[in]other父类对象。

成员函数说明

◆ Initialize()

bool foxit::pdf::StdSecurityHandler::Initialize ( const StdEncryptData encrypt_data,
const String user_password,
const String owner_password 
)

(不支持AES-256)初始化当前标准安全处理器。

参数
[in]user_password用户密码,用于打开PDF文档。当参数 owner_password 不为空时,此密码可以为空。
[in]owner_password所有者密码,用于获取PDF文档的所有权。当参数 user_password 不为空时,此密码可以为空。
[in]encrypt_data标准加密数据对象。在加密数据中,密码类型不应为 SecurityHandler::e_CipherNone,或密钥长度为32的 SecurityHandler::e_CipherAES(即不支持AES-256)。请参考类 StdEncryptData 的注释以确保每个成员的有效性。
返回
true 表示成功,false 表示失败。

◆ InitializeW()

bool foxit::pdf::StdSecurityHandler::InitializeW ( const StdEncryptData encrypt_data,
const WString user_password,
const WString owner_password 
)

(仅适用于AES-256)初始化当前标准安全处理器。

参数
[in]user_password用户密码,用于打开PDF文档。当参数 owner_password 不为空时,此密码可以为空。
[in]owner_password所有者密码,用于获取PDF文档的所有权。当参数 user_password 不为空时,此密码可以为空。
[in]encrypt_data标准加密数据对象。在加密数据中,密码类型应为 SecurityHandler::e_CipherAES 且密钥长度应为32。
返回
true 表示成功,false 表示失败。

◆ SetAES256ModifyFlags()

void foxit::pdf::StdSecurityHandler::SetAES256ModifyFlags ( uint32  modify_flags)

(仅适用于AES-256)设置修改标志以决定在加密过程中哪些安全数据或密码将被修改。

修改标志仅在PDF文档已使用AES-256加密且当前 StdSecurityHandler 对象将用于修改此PDF文档的某些安全数据或密码时有用。对于其他情况,在加密过程中这些修改标志将被忽略。安全数据和密码通过函数 StdSecurityHandler::InitializeW 设置。如果当前 StdSecurityHandler 对象未调用此函数,这意味着默认修改所有安全数据和密码。

参数
[in]modify_flags修改标志,用于决定在加密过程中哪些安全数据或密码将被修改。请参考从 StdSecurityHandler::e_ModifyPermission 开始的值,应该是这些值中的一个或多个的组合。
返回
无。