תיעוד HotXLS

מאפיין EncryptionPassword

מחזיר או מגדיר את הסיסמה המשמשת להצפנת חוברת עבודה BIFF8 (.xls) ב- SaveAs. הגדרת ערך לא ריק מפעילה הצפנה RC4 של BIFF8. קריאה/כתיבה WideString

תחביר

property EncryptionPassword: WideString;

הערות

נתיב הכתיבה פולט רשומת BIFF8 FILEPASS ($002F) מיד לאחר ה-BOF של חוברת העבודה ומצפין RC4 את גוף כל רשומה עוקבת. פורמט הרשת הוא vMajor=1, vMinor=1 (הצפנת "Office 97/2000 Compatible"). 16 בייט Salt ו-Verifier נוצרים דרך Windows CryptGenRandom . גזירת מפתח בלוק מחדש בכל גבול 1024 בייט נשמרת כך שחוברות עבודה גדולות, שרשראות SST CONTINUE, וזרמים מרובי-גיליונות מוצפנים כראוי Random. גזירה מחדש של מפתח הבלוק בכל גבול של 1024 בתים נשמרת, כך שחוברות עבודה גדולות, שרשראות SST CONTINUE וזרמים מרובי גיליונות מוצפנים נכון

ההצפנה חלה על BIFF8 (xlExcel97) בלבד — נתיב השמירה של BIFF5 נשאר בטקסט רגיל. EncryptionPassword ריק שומר על פלט טקסט רגיל מדור קודם והוא ברירת המחדל, כך שאפליקציות קיימות שאינן קוראות ל-setter אינן מושפעות

הערת אבטחה: BIFF8 RC4 עם vMajor=1/vMinor=1 משתמש במפתח 40 סיביות, הנחשב שבור לפי סטנדרטים של 2025. השתמש בתכונה זו לתאימות עם ממשק הגנת הסיסמה הקלאסי של Excel, לא לסודיות של נתונים רגישים. לאבטחה אמיתית, העדף פלט XLSX עם AES

דוגמה

דוגמה זו שומרת קובץ .xls מוגן בסיסמה

Workbook.EncryptionPassword := 'secret';
Workbook.SaveAs('Confidential.xls', xlExcel97);