SaveAs ile bir BIFF8 (.xls) çalışma kitabını şifrelemek için kullanılan parolayı döndürür veya ayarlar. Boş olmayan bir değer ayarlamak Excel uyumlu parola korumalı bir dosya üretir: Microsoft Excel, LibreOffice Calc ve diğer BIFF8 okuyucuları açılışta parolayı sorar ve yanlış olduğunda erişimi reddeder. Okuma/yazma WideString. (Varsayılan değer boş dizedir, v2.32.0 sürümünden itibaren kullanılabilir)
Söz dizimi
property EncryptionPassword: WideString;
Açıklamalar
Yazma yolu, çalışma kitabı BOF'tan hemen sonra bir BIFF8 FILEPASS kaydı ($002F) yayar ve ardından her sonraki kayıt gövdesini RC4 ile şifreler. Tel biçimi vMajor=1, vMinor=1 ("Office 97/2000 Uyumlu" şifrelemesi) şeklindedir. 16 baytlık Salt ve Doğrulayıcı, Pascal Random yerine Windows CryptGenRandom aracılığıyla üretilir. Her 1024 baytlık sınırdaki blok anahtarı yeniden türetme korunduğundan büyük çalışma kitapları, SST CONTINUE zincirleri ve çok sayfalı akışlar doğru şekilde şifrelenir
Şifreleme yalnızca BIFF8 (xlExcel97) için geçerlidir — BIFF5 kaydetme yolu düz metin olarak kalır. Boş bir EncryptionPassword, eski düz metin çıktısını korur ve varsayılandır; bu nedenle belirleyiciyi hiçbir zaman çağırmayan mevcut uygulamalar etkilenmez
Güvenlik notu: vMajor=1/vMinor=1 ile BIFF8 RC4, 2025 standartlarına göre kırılmış sayılan 40 bitlik bir anahtar kullanır. Bu özelliği Excel'in klasik dosya korumasıyla uyumluluk için kullanın, modern kriptografik güvenlik beklenmedik durumlarda kullanmayın
Örnek
Bu örnek, parola korumalı bir .xls dosyasını kaydeder
Workbook.EncryptionPassword := 'secret';
Workbook.SaveAs('Confidential.xls', xlExcel97);