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