Foxit PDF SDK

Public 类型 | Public 成员函数 | 所有成员列表
foxit::pdf::StdSecurityHandler类 参考
类 foxit::pdf::StdSecurityHandler 继承关系图:

## 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)
| 不等于操作符。 更多...
SecurityHandler & | operator= (const SecurityHandler &other)
| 赋值操作符。 更多...
bool | operator== (const SecurityHandler &other)
| 等于操作符。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

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

参见
  SecurityHandler

## 成员枚举类型说明

## ◆ ModifyFlag

enum foxit::pdf::StdSecurityHandler::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 开始的值，应该是这些值中的一个或多个的组合。

返回
  无。