class PdfEncryption {

	public byte[] computeUserPassword(byte[] ownerPassword) {
        byte[] userPad = null;
        if (publicKeyHandler.getRecipientsSize() == 0 &&
                STANDARD_ENCRYPTION_40 <= revision && revision <= AES_128) {
            userPad = computeOwnerKey(ownerKey, padPassword(ownerPassword));
            for (int i = 0; i < userPad.length; i++) {
                boolean match = true;
                for (int j = 0; j < userPad.length - i; j++) {
                    if (userPad[i + j] != pad[j]) {
                        match = false;
                        break;
                    }
                }
                if (!match) continue;
                byte[] userPassword = new byte[i];
                System.arraycopy(userPad, 0, userPassword, 0, i);
                return userPassword;
            }
        }
		return userPad;
	}

	public  PdfEncryption();
	public  PdfEncryption(PdfEncryption enc);

}