DAOpenFileWithEncryptionKey
مدیریت سند، قابلیت دسترسی مستقیم، امنیت
توضیحات
یک PDF رمزشده را برای بازیابی یا بررسی مجاز باز میکند و بهجای مشتقکردن کلید از گذرواژه، کلید هگزادسیمال رمزنگاری فایل را مستقیماً میپذیردفایل از طریق دستگیره فقطخواندنی مبدأ باز میشود و نمیتوان درجا به آن افزود
نحو
Delphi
Function TPDFlib.DAOpenFileWithEncryptionKey(Const InputFileName, EncryptionKeyHex: WideString; Options: Integer = 0): Integer;DLL
int DLDAOpenFileWithEncryptionKey(int InstanceID, const wchar_t * InputFileName, const wchar_t * EncryptionKeyHex, int Options);
int DLDAOpenFileWithEncryptionKeyA(int InstanceID, const char * InputFileName, const char * EncryptionKeyHex, int Options);پارامترها
| InputFileName | مسیر و نام PDF رمزشده |
|---|---|
| EncryptionKeyHex | کلید هگزادسیمال ASCII با طول زوج، بدون پیشوند یا فضای سفید؛ بازنگریهای 2 تا 4 طول دقیق کلید اعلامشده در دیکشنری رمزنگاری و بازنگریهای 5 تا 7 مقدار 32 بایت را میطلبند |
| Options | صفر یعنی وجود تأییدکننده در دسترس لازم است؛ PDF_RAW_KEY_ALLOW_UNVERIFIED تنها زمانی اجازه میدهد کلید در سایر موارد معتبر پذیرفته شود که سند تأییدکننده قابلاستفادهای نداشته باشد |
مقادیر بازگشتی
| غیرصفر | یک دستگیره فایل Direct Access |
|---|---|
| 0 | ورودی باز نشد؛ LastErrorCode را بررسی کنید، از جمله PDFLIB_ERROR_RAW_ENCRYPTION_KEY_INVALID برای نحو، طول، گزینه یا تأیید نامعتبر |
توضیحات
مقادیر /U بازنگریهای 2 تا 4 موجود و مقادیر /Perms بازنگریهای 5 تا 7 همیشه بررسی میشوند؛ PDF_RAW_KEY_ALLOW_UNVERIFIED هرگز ناهمخوانی را نمیپذیردپس از بازکردن، برای تمایز دستگیرههای تأییدشده و آشکارا تأییدنشده
DAGetEncryptionKeyValidation را فراخوانی کنیدکلید یک ابزار اعتبارسنجی حساس است و باید با همان کنترلهای گذرواژه سند بهدست آید، منتقل و ذخیره شود