Coverage Report

Created: 2025-07-11 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
362k
    crypto(QPDFCryptoProvider::getImpl())
7
362k
{
8
362k
    crypto->RC4_init(key_data, key_len);
9
362k
}
10
11
void
12
RC4::process(unsigned char const* in_data, size_t len, unsigned char* out_data)
13
366k
{
14
366k
    crypto->RC4_process(in_data, len, out_data);
15
366k
}
16
17
void
18
RC4::process(std::string_view key, std::string& data)
19
322k
{
20
322k
    RC4 rc4(reinterpret_cast<unsigned char const*>(key.data()), static_cast<int>(key.size()));
21
322k
    rc4.process(
22
322k
        reinterpret_cast<unsigned char const*>(data.data()),
23
322k
        data.size(),
24
322k
        reinterpret_cast<unsigned char*>(data.data()));
25
322k
}