DAOpenFileWithEncryptionKeyA
مدیریت سند، قابلیت دسترسی مستقیم، امنیت
توضیحات
پسوند A نشانگر نقطه ورود ANSI (char) در DLL است؛ سطح ActiveX/COM تنها شکل Unicode را در دسترس میگذارد. رفتار با DAOpenFileWithEncryptionKey یکسان است و آرگومانهای رشتهای با صفحه کد جاری SetAnsiMode تفسیر میشوندیک PDF رمزشده را برای بازیابی یا بررسی مجاز باز میکند و بهجای مشتقکردن کلید از گذرواژه، کلید هگزادسیمال رمزنگاری فایل را مستقیماً میپذیردفایل از طریق دستگیره فقطخواندنی مبدأ باز میشود و نمیتوان درجا به آن افزود
نحو
Delphi
Function DLDAOpenFileWithEncryptionKeyA(InstanceID: Integer; InputFileName, EncryptionKeyHex: PAnsiChar; Options: Integer): Integer; Stdcall;DLL
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 را فراخوانی کنیدرشتههای ANSI پیش از پردازش درخواست، با صفحه کد جاری
SetAnsiMode به Unicode گسترش مییابندکلید یک ابزار اعتبارسنجی حساس است و باید با همان کنترلهای گذرواژه سند بهدست آید، منتقل و ذخیره شود