Работа с свойствами защиты паролем 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