使用 PST 密码保护属性

检查密码保护

MapiPropertyTag.PR_PST_PASSWORD 来自 MapiPropertyTag 类用于检查文件是否受密码保护。

密码字符串的 CRC-32 哈希存储在 PidTagPstPassword(标签 = 0x67ff0003)属性中,位于 MessageStore. 如果此属性存在且非零,则 PST 受密码保护。

以下代码片段演示如何检查 PST 文件是否受密码保护以及给定字符串是否为该 PST 的有效密码。

下面的代码片段展示了两个函数,第一条检查 PST 是否受密码保护,第二条展示如何检查提供的密码是否正确。

移除/重置 PR_PST_PASSWORD 属性

删除 PR_PST_PASSWORD 由于其他属性已从消息存储中移除,无法实现此属性。相反,需要将其值设为零 (0) 以将其移除。在此情况下,PST 类的 "Store" 属性允许访问 PST 的存储属性,而不是 MessageStoreProperties。

设置/更改 PST 密码

以下代码片段展示了如何在 PST 文件上设置密码。

密码保护的 PST 文件密码验证

Aspose.Email 让开发者能够检查 PST 文件是否受密码保护,并验证给定密码是否正确。为此,API 提供了 PersonalStorage.Store.IsPasswordProtected 属性和 PersonalStorage.Store.IsPasswordValid() 方法。该 PersonalStorage.Store.IsPasswordProtected 属性在 PST 文件受密码保护时返回 true,否则返回 false。 PersonalStorage.Store.IsPasswordValid() 方法接受字符串密码作为参数,如果密码正确则返回 true,否则返回 false

以下代码片段演示了如何使用 PersonalStorage.Store.IsPasswordProtected 属性和 PersonalStorage.Store.IsPasswordValid() 方法。

示例代码

控制台输出

存储已受密码保护 - True,密码有效 - True