Работа с свойствами защиты паролем PST

Проверка на защиту паролем

Значение MapiPropertyTag.PR_PST_PASSWORD из класса MapiPropertyTag используется для проверки, защищён ли файл паролем.

CRC-32 хеш строки пароля хранится в свойстве PidTagPstPassword (tag = 0x67ff0003) в MessageStore. Если это свойство существует и его значение не ноль, то PST защищён паролем.

Следующий фрагмент кода показывает, как проверить, защищён ли файл PST паролем, и является ли данная строка допустимым паролем для этого PST.

Ниже приведённый фрагмент кода демонстрирует две функции: первая проверяет, защищён ли PST паролем, а вторая показывает, как проверить, является ли предоставленный пароль правильным или нет.

Удаление/Сброс свойства PR_PST_PASSWORD

Удалить свойство PR_PST_PASSWORD нельзя так же, как удаляются другие свойства из хранилища сообщений. Вместо этого мы должны установить его значение в ноль (0), чтобы удалить его. Свойство “Store” класса PST предоставляет доступ к свойствам хранилища PST, а не к MessageStoreProperties PST в этом случае.

Установка/Изменение пароля PST

Следующий фрагмент кода показывает, как установить пароль на файлы PST.

Проверка пароля для защищённых паролем файлов PST

Aspose.Email позволяет разработчикам проверять, защищён ли файл PST паролем, и проверять, является ли введённый пароль правильным или нет. Для этого API предоставляет свойство PersonalStorage.Store.IsPasswordProtected и метод PersonalStorage.Store.IsPasswordValid(). Свойство PersonalStorage.Store.IsPasswordProtected возвращает true, если файл PST защищён паролем, и false, если нет. Метод PersonalStorage.Store.IsPasswordValid() принимает строку пароля в качестве параметра и возвращает true, если пароль правильный, и false, если он неверный.

Следующий фрагмент кода демонстрирует использование свойства PersonalStorage.Store.IsPasswordProtected и метода PersonalStorage.Store.IsPasswordValid().

Пример кода

Консольный вывод

Хранилище защищено паролем - True Пароль действителен - True