Coverage Report

Created: 2025-07-18 07:00

/src/qpdf/libqpdf/RC4.cc
Line
Count
Source
1
#include <qpdf/RC4.hh>
2
3
#include <qpdf/QPDFCryptoProvider.hh>
4
5
RC4::RC4(unsigned char const* key_data, int key_len) :
6
16.3k
    crypto(QPDFCryptoProvider::getImpl())
7
16.3k
{
8
16.3k
    crypto->RC4_init(key_data, key_len);
9
16.3k
}
10
11
void
12
RC4::process(unsigned char const* in_data, size_t len, unsigned char* out_data)
13
16.3k
{
14
16.3k
    crypto->RC4_process(in_data, len, out_data);
15
16.3k
}
16
17
void
18
RC4::process(std::string_view key, std::string& data)
19
10.8k
{
20
10.8k
    RC4 rc4(reinterpret_cast<unsigned char const*>(key.data()), static_cast<int>(key.size()));
21
10.8k
    rc4.process(
22
10.8k
        reinterpret_cast<unsigned char const*>(data.data()),
23
10.8k
        data.size(),
24
10.8k
        reinterpret_cast<unsigned char*>(data.data()));
25
10.8k
}