PDFKeyDerivation
Genel Bakış
PDFKeyDerivation Java için FOSS’de bir sınıf.
PDF şifreleme anahtarı türetme algoritmaları.
Bu sınıf, Java programlarında PDFKeyDerivation nesnelerle çalışmak için 11 yöntem sunar. Kullanılabilir yöntemler şunlardır: computeEncryptionKeyR2R4, computeEncryptionKeyR5Owner, computeEncryptionKeyR5User, computeEncryptionKeyR6Owner, computeEncryptionKeyR6User, computeHashR5, computeHashR6, generateO_R2R4, generateU_R2, generateU_R3R4, padPassword. Tüm kamu üyeleri, Java için FOSS paketini yükledikten sonra herhangi bir Java uygulamasına erişilebilir. Özellikleri: PADDING.
Özellikler
| Adı: | Tip: | Access | Açıklama: |
|---|---|---|---|
PADDING | byte[] | Oku . | Algoritma 2 adım (a) ’ dan 32 baytlık dolgu dizisi. |
Yöntemler
| Signature | Açıklama: |
|---|---|
computeEncryptionKeyR2R4(password: byte[], encDict: PDFEncryptionDict, documentId: byte[]) → byte[] | Algoritma 2: R2-R4 için şifreleme anahtarını hesapla. |
computeEncryptionKeyR6User(password: byte[], encDict: PDFEncryptionDict) → byte[] | R=5/R=6 (AES-256) için şifreleme anahtarını hesaplayın. |
computeEncryptionKeyR6Owner(password: byte[], encDict: PDFEncryptionDict) → byte[] | R=6 için şifreleme anahtarını sahibinin şifresi ile hesapla. |
computeHashR5(password: byte[], salt: byte[], userKey: byte[]) → byte[] | R=5 (Adobe Extension Seviye 3) hash: SHA-256’dan tek bir {@code password + salt [+ userKey]}, NO Algoritma 2.B iterasyonu ile. |
computeEncryptionKeyR5User(password: byte[], encDict: PDFEncryptionDict) → byte[] | Kullanıcı şifresi ile R=5 için dosya şifreleme anahtarını hesaplayın (Adobe Extension Level 3 single SHA-256, iterasyon yok). |
computeEncryptionKeyR5Owner(password: byte[], encDict: PDFEncryptionDict) → byte[] | R=5 için dosya şifreleme anahtarını sahibi şifresi ile hesaplayın (Adobe Extension Seviye 3 tek SHA-256, tekrarlama yok). |
generateO_R2R4(ownerPassword: byte[], userPassword: byte[], keyLenBytes: int, R: int) → byte[] | Algoritma 3 (ISO 32000-1:2008, §7.6.3.4): /O (sahibi) hash’ini hesaplar. |
generateU_R2(encryptionKey: byte[]) → byte[] | Algoritma 4 (ISO 32000-1:2008, §7.6.3.4): R=2 için /U hash’i hesaplar. |
generateU_R3R4(encryptionKey: byte[], documentId: byte[]) → byte[] | Algoritma 5 (ISO 32000-1:2008, §7.6.3.4): R=3/4 için /U hash’i hesaplar. |
padPassword(password: byte[]) → byte[] | Bir şifreyi tam olarak 32 bayt’a kadar kısaltır veya keser. |
computeHashR6(password: byte[], salt: byte[], userKey: byte[]) → byte[] | R=6 doğrulama veya anahtar-tölüm hash’ini hesaplar (ISO 32000-2, Algoritma 2.B). |