Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 50 100 150 Line Coverage (%) Cyclomatic Complexity Phpdftk\Crypt\PdfKeyDerivation — Coverage: 100.0% | Lines: 159 | Complexity: 47 Phpdftk\Crypt\SaslPrep — Coverage: 96.5% | Lines: 142 | Complexity: 106 Phpdftk\Crypt\PublicKeyEncryption — Coverage: 90.0% | Lines: 60 | Complexity: 17 Phpdftk\Crypt\AesCipher — Coverage: 95.2% | Lines: 21 | Complexity: 8 Phpdftk\Crypt\Rc4Cipher — Coverage: 95.0% | Lines: 20 | Complexity: 6

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 10 20 30 40 50 Line Coverage (%) Cyclomatic Complexity Phpdftk\Crypt\SaslPrep::checkProhibited — Coverage: 100.0% | Lines: 53 | Complexity: 41 Phpdftk\Crypt\PublicKeyEncryption::createEnvelope — Coverage: 85.7% | Lines: 28 | Complexity: 7 Phpdftk\Crypt\PdfKeyDerivation::authenticateOwnerPassword — Coverage: 100.0% | Lines: 26 | Complexity: 6 Phpdftk\Crypt\PublicKeyEncryption::openEnvelope — Coverage: 91.3% | Lines: 23 | Complexity: 6 Phpdftk\Crypt\SaslPrep::checkBidi — Coverage: 91.3% | Lines: 23 | Complexity: 10 Phpdftk\Crypt\SaslPrep::readCodepoint — Coverage: 90.5% | Lines: 21 | Complexity: 5 Phpdftk\Crypt\Rc4Cipher::rc4 — Coverage: 94.4% | Lines: 18 | Complexity: 4 Phpdftk\Crypt\PdfKeyDerivation::computeOwnerKey — Coverage: 100.0% | Lines: 17 | Complexity: 6 Phpdftk\Crypt\PdfKeyDerivation::computeHashR6 — Coverage: 100.0% | Lines: 17 | Complexity: 7 Phpdftk\Crypt\PdfKeyDerivation::authenticateUserPassword — Coverage: 100.0% | Lines: 16 | Complexity: 4 Phpdftk\Crypt\SaslPrep::isLCat — Coverage: 100.0% | Lines: 15 | Complexity: 30 Phpdftk\Crypt\PdfKeyDerivation::deriveObjectKey — Coverage: 100.0% | Lines: 12 | Complexity: 2 Phpdftk\Crypt\PdfKeyDerivation::computeFileEncryptionKey — Coverage: 100.0% | Lines: 12 | Complexity: 5 Phpdftk\Crypt\PdfKeyDerivation::computeUserKey — Coverage: 100.0% | Lines: 12 | Complexity: 4 Phpdftk\Crypt\AesCipher::decrypt — Coverage: 100.0% | Lines: 11 | Complexity: 3 Phpdftk\Crypt\PdfKeyDerivation::authenticateOwnerPasswordR6 — Coverage: 100.0% | Lines: 10 | Complexity: 3 Phpdftk\Crypt\PdfKeyDerivation::computeOValueR6 — Coverage: 100.0% | Lines: 9 | Complexity: 1 Phpdftk\Crypt\PdfKeyDerivation::authenticateUserPasswordR6 — Coverage: 100.0% | Lines: 9 | Complexity: 3 Phpdftk\Crypt\PublicKeyEncryption::deriveFileKey — Coverage: 100.0% | Lines: 9 | Complexity: 4 Phpdftk\Crypt\AesCipher::encrypt — Coverage: 87.5% | Lines: 8 | Complexity: 2 Phpdftk\Crypt\PdfKeyDerivation::computeUValueR6 — Coverage: 100.0% | Lines: 8 | Complexity: 1 Phpdftk\Crypt\SaslPrep::toCodepoints — Coverage: 100.0% | Lines: 8 | Complexity: 2 Phpdftk\Crypt\PdfKeyDerivation::computePermsR6 — Coverage: 100.0% | Lines: 7 | Complexity: 2 Phpdftk\Crypt\SaslPrep::prepare — Coverage: 100.0% | Lines: 7 | Complexity: 2 Phpdftk\Crypt\SaslPrep::normalize — Coverage: 83.3% | Lines: 6 | Complexity: 3 Phpdftk\Crypt\SaslPrep::isRandALCat — Coverage: 100.0% | Lines: 6 | Complexity: 12 Phpdftk\Crypt\SaslPrep::map — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Crypt\AesCipher::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 3 Phpdftk\Crypt\PdfKeyDerivation::preparePasswordR6 — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Crypt\PdfKeyDerivation::saslPrep — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Crypt\PdfKeyDerivation::pad — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Crypt\Rc4Cipher::encrypt — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Crypt\Rc4Cipher::decrypt — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
Phpdftk\Crypt\SaslPrep::checkProhibited41100.0%
Phpdftk\Crypt\SaslPrep::isLCat30100.0%
Phpdftk\Crypt\SaslPrep::isRandALCat12100.0%
Phpdftk\Crypt\SaslPrep::checkBidi10.0791.3%
Phpdftk\Crypt\PublicKeyEncryption::createEnvelope7.1485.7%
Phpdftk\Crypt\PdfKeyDerivation::computeHashR67100.0%
Phpdftk\Crypt\PublicKeyEncryption::openEnvelope6.0291.3%
Phpdftk\Crypt\PdfKeyDerivation::computeOwnerKey6100.0%
Phpdftk\Crypt\PdfKeyDerivation::authenticateOwnerPassword6100.0%
Phpdftk\Crypt\SaslPrep::readCodepoint5.0290.5%
Phpdftk\Crypt\PdfKeyDerivation::computeFileEncryptionKey5100.0%
Phpdftk\Crypt\PdfKeyDerivation::computeUserKey4100.0%
Phpdftk\Crypt\PdfKeyDerivation::authenticateUserPassword4100.0%
Phpdftk\Crypt\PublicKeyEncryption::deriveFileKey4100.0%
Phpdftk\Crypt\Rc4Cipher::rc44.0094.4%
Phpdftk\Crypt\SaslPrep::normalize3.0483.3%
Phpdftk\Crypt\AesCipher::__construct3100.0%
Phpdftk\Crypt\AesCipher::decrypt3100.0%
Phpdftk\Crypt\PdfKeyDerivation::authenticateUserPasswordR63100.0%
Phpdftk\Crypt\PdfKeyDerivation::authenticateOwnerPasswordR63100.0%
Phpdftk\Crypt\AesCipher::encrypt2.0187.5%
Phpdftk\Crypt\PdfKeyDerivation::deriveObjectKey2100.0%
Phpdftk\Crypt\PdfKeyDerivation::computePermsR62100.0%
Phpdftk\Crypt\SaslPrep::prepare2100.0%
Phpdftk\Crypt\SaslPrep::toCodepoints2100.0%
Phpdftk\Crypt\PdfKeyDerivation::computeUValueR61100.0%
Phpdftk\Crypt\PdfKeyDerivation::computeOValueR61100.0%
Phpdftk\Crypt\PdfKeyDerivation::saslPrep1100.0%
Phpdftk\Crypt\PdfKeyDerivation::pad1100.0%
Phpdftk\Crypt\PdfKeyDerivation::preparePasswordR61100.0%
Phpdftk\Crypt\Rc4Cipher::encrypt1100.0%
Phpdftk\Crypt\Rc4Cipher::decrypt1100.0%
Phpdftk\Crypt\SaslPrep::map1100.0%