Vrátí nebo nastaví heslo používané k šifrování sešitu BIFF8 (.xls) při volání SaveAs. Nastavení neprázdné hodnoty vytvoří soubor chráněný heslem kompatibilní s Excelem: Microsoft Excel, LibreOffice Calc a další čtečky BIFF8 vyzvou k zadání hesla při otevření a odepřou přístup, pokud je heslo nesprávné. Čtení/zápis WideString. (Výchozí hodnota je prázdný řetězec, dostupné od v2.32.0.)
Syntaxe
property EncryptionPassword: WideString;
Poznámky
Cesta zápisu vydá záznam BIFF8 FILEPASS ($002F) ihned po BOF sešitu a RC4 šifruje tělo každého následujícího záznamu. Formát přenosu je vMajor=1, vMinor=1 (šifrování kompatibilní s Office 97/2000). 16bajtový Salt a Verifier jsou generovány prostřednictvím Windows CryptGenRandom místo Pascalova Random. Odvozování klíče bloku každých 1024 bajtů je zachováno, takže velké sešity, řetězce SST CONTINUE a proudy s více listy se šifrují správně
Šifrování se vztahuje pouze na BIFF8 (xlExcel97) — cesta uložení BIFF5 zůstává nešifrovaná. Prázdné EncryptionPassword zachová staré nešifrované výstupy a je výchozí hodnotou, takže stávající aplikace, které nikdy nezavolají setter, nejsou ovlivněny
Bezpečnostní poznámka: BIFF8 RC4 s vMajor=1/vMinor=1 používá 40bitový klíč, který je od roku 2025 považován za prolomený. Tuto funkci použijte pro kompatibilitu s klasickým uživatelským rozhraním ochrany heslem v Excelu, nikoli pro důvěrnost citlivých dat. Pro skutečnou bezpečnost preferujte výstup XLSX s AES
Příklad
Tento příklad uloží soubor .xls chráněný heslem
Workbook.EncryptionPassword := 'secret';
Workbook.SaveAs('Confidential.xls', xlExcel97);