Praca z ochroną hasłem PST

Praca z ochroną hasłem PST

Microsoft Outlook umożliwia użytkownikom zabezpieczenie plików PST hasłem w celu ograniczenia dostępu do nich. Aspose.Email może wykrywać ochronę hasłem w pliku PST. Ochrona hasłem jest w rzeczywistości implementowana tylko w Outlook; dane nie są zaszyfrowane. Dzięki temu możliwe jest użycie API do wyodrębniania e-maili bez znajomości hasła.

Odczytaj chronione hasłem pliki PST

Możesz czytać pliki chronione hasłem tak samo jak zwykłe niechronione pliki PST.

using var pst = PersonalStorage.FromFile(fileName);
foreach (var folder in pst.RootFolder.GetSubFolders())
{
    foreach (var msg in folder.EnumerateMessages())
    {

    }
}

Sprawdź, czy PST jest chroniony hasłem

API udostępnia PersonalStorage.Store.IsPasswordProtected właściwości. PersonalStorage.Store.IsPasswordProtected właściwość zwraca true, jeśli plik PST jest zabezpieczony hasłem, oraz false, jeśli nie jest.

Poniższy fragment kodu demonstruje użycie PersonalStorage.Store.IsPasswordProtected właściwość.

using var pst = PersonalStorage.FromFile("passwordprotectedPST.pst");
Console.WriteLine($"The storage is password protected - {pst.Store.IsPasswordProtected}");

Zweryfikuj hasło

Ten PersonalStorage.Store.IsPasswordValid() metoda przyjmuje ciąg znaków hasła jako parametr i zwraca true, jeśli hasło jest poprawne, oraz false, jeśli jest niepoprawne.

Poniższy fragment kodu demonstruje użycie PersonalStorage.Store.IsPasswordValid() metoda.

using var pst = PersonalStorage.FromFile("passwordprotectedPST.pst");
Console.WriteLine($"Password is valid - {pst.Store.IsPasswordValid("Password1")}");

Dodaj/Zmień/Usuń hasła

Ten PersonalStorage.Store.ChangePassword metoda służy do dodania, zmiany lub usunięcia hasła.

Aby to zrobić, wykonaj następujące kroki:

  • Załaduj PST z pliku lub strumienia.
  • Wywołaj PersonalStorage.Store.ChangePassword metoda. Aby dodać lub zmienić hasło, przekaż jako parametr ciąg znaków z hasłem, a aby usunąć hasło, przekaż wartość null.
using var pst = PersonalStorage.Create("SetPasswordOnPST_out.pst", FileFormatVersion.Unicode);
// Add or change the password
const string password = "Password1";
pst.Store.ChangePassword(password);
// Remove the password
pst.Store.ChangePassword(null);