Trabalhando com Propriedades de Proteção por Senha de PST

Verificar a Proteção por Senha

O valor MapiPropertyTag.PR_PST_PASSWORD da classe MapiPropertyTag é usado para verificar se um arquivo está protegido por senha.

O hash CRC-32 da string da senha é armazenado na propriedade PidTagPstPassword (tag = 0x67ff0003) na MessageStore. Se essa propriedade existir e for diferente de zero, então o PST está protegido por senha.

O seguinte trecho de código mostra como verificar se um arquivo PST está protegido por senha e se a string fornecida é uma senha válida para esse PST.

O trecho de código abaixo mostra duas funções, a primeira verifica se o PST está protegido por senha e a segunda mostra como verificar se uma senha fornecida está correta ou não.

Remover/Redefinir a Propriedade PR_PST_PASSWORD

A remoção da propriedade PR_PST_PASSWORD não pode ser realizada como outras propriedades são removidas de um repositório de mensagens. Em vez disso, precisamos definir seu valor como zero (0) para que ela seja removida. A propriedade “Store” da classe PST permite acesso às propriedades de armazenamento do PST em vez das MessageStoreProperties do PST neste caso.

Definir/Mudar a Senha do PST

O seguinte trecho de código mostra como definir uma senha em arquivos PST.

Verificação de Senha para Arquivos PST Protegidos por Senha

Aspose.Email permite que os desenvolvedores verifiquem se o arquivo PST está protegido por senha e se a senha fornecida está correta ou não. Para isso, a API fornece a propriedade PersonalStorage.Store.IsPasswordProtected e o método PersonalStorage.Store.IsPasswordValid(). A propriedade PersonalStorage.Store.IsPasswordProtected retorna true se o arquivo PST estiver protegido por senha e false se não estiver. O método PersonalStorage.Store.IsPasswordValid() que recebe a senha como string como parâmetro e retorna true se a senha estiver correta e false se estiver incorreta.

O seguinte trecho de código demonstra o uso da propriedade PersonalStorage.Store.IsPasswordProtected e do método PersonalStorage.Store.IsPasswordValid().

Código de Exemplo

Saída do Console

O armazenamento está protegido por senha - Verdadeiro
A senha é válida - Verdadeiro