/* */ #ifndef D_LIBSSL_ARC4_ENCRYPTOR_H #define D_LIBSSL_ARC4_ENCRYPTOR_H #include "common.h" #include #include #if OPENSSL_VERSION_NUMBER >= 0x30000000L # include #else // !(OPENSSL_VERSION_NUMBER >= 0x30000000L) # include #endif // !(OPENSSL_VERSION_NUMBER >= 0x30000000L) namespace aria2 { class ARC4Encryptor { private: #if OPENSSL_VERSION_NUMBER >= 0x30000000L EVP_CIPHER_CTX* ctx_; #else // !(OPENSSL_VERSION_NUMBER >= 0x30000000L) RC4_KEY key_; #endif // !(OPENSSL_VERSION_NUMBER >= 0x30000000L) public: ARC4Encryptor(); ~ARC4Encryptor(); void init(const unsigned char* key, size_t keyLength); // Encrypts data in in buffer to out buffer. in and out can be the // same buffer. void encrypt(size_t len, unsigned char* out, const unsigned char* in); }; } // namespace aria2 #endif // D_LIBSSL_ARC4_ENCRYPTOR_H