hashkit_string_st *hashkit_encrypt(hashkit_st *kit, const char *source, size_t source_length) {
#ifdef HAVE_OPENSSL_CRYPTO
- return aes_encrypt((encryption_context_t *) kit->_cryptographic_context,
+ return aes_encrypt((encryption_context_t *) kit->_key,
(const unsigned char *) source, source_length);
#else
- return aes_encrypt((aes_key_t *) kit->_cryptographic_context, source,
+ return aes_encrypt((aes_key_t *) kit->_key, source,
source_length);
#endif
}
hashkit_string_st *hashkit_decrypt(hashkit_st *kit, const char *source, size_t source_length) {
#ifdef HAVE_OPENSSL_CRYPTO
- return aes_decrypt((encryption_context_t *) kit->_cryptographic_context,
+ return aes_decrypt((encryption_context_t *) kit->_key,
(const unsigned char *) source, source_length);
#else
- return aes_decrypt((aes_key_t *)kit->_cryptographic_context, source, source_length);
+ return aes_decrypt((aes_key_t *)kit->_key, source, source_length);
#endif
}
#ifdef HAVE_OPENSSL_CRYPTO
bool hashkit_key(hashkit_st *kit, const char *key, const size_t key_length) {
- kit->_cryptographic_context = (encryption_context_t *) malloc(sizeof(encryption_context_t));
- ((encryption_context_t *) kit->_cryptographic_context)->encryption_context = EVP_CIPHER_CTX_new();
- ((encryption_context_t *) kit->_cryptographic_context)->decryption_context = EVP_CIPHER_CTX_new();
- if (((encryption_context_t *) kit->_cryptographic_context)->encryption_context == NULL
- || ((encryption_context_t *) kit->_cryptographic_context)->decryption_context == NULL)
+ kit->_key = (encryption_context_t *) malloc(sizeof(encryption_context_t));
+ ((encryption_context_t *) kit->_key)->encryption_context = EVP_CIPHER_CTX_new();
+ ((encryption_context_t *) kit->_key)->decryption_context = EVP_CIPHER_CTX_new();
+ if (((encryption_context_t *) kit->_key)->encryption_context == NULL
+ || ((encryption_context_t *) kit->_key)->decryption_context == NULL)
{
return false;
}
return aes_initialize((const unsigned char *) key, key_length,
- (encryption_context_t *) kit->_cryptographic_context);
+ (encryption_context_t *) kit->_key);
}
#else
bool hashkit_key(hashkit_st *kit, const char *key, const size_t key_length) {
- if (kit->_cryptographic_context) {
- free(kit->_cryptographic_context);
+ if (kit->_key) {
+ free(kit->_key);
}
- kit->_cryptographic_context = aes_create_key(key, key_length);
+ kit->_key = aes_create_key(key, key_length);
- return bool(kit->_cryptographic_context);
+ return bool(kit->_key);
}
#endif
self->distribution_hash.context = NULL;
self->flags.is_base_same_distributed = true;
- self->_cryptographic_context = NULL;
+ self->_key = NULL;
}
static inline hashkit_st *_hashkit_create(hashkit_st *self) {
void hashkit_free(hashkit_st *self) {
#ifdef HAVE_OPENSSL_CRYPTO
- if (self and self->_cryptographic_context) {
- cryptographic_context_free((encryption_context_t *)self->_cryptographic_context);
- self->_cryptographic_context = NULL;
+ if (self and self->_key) {
+ cryptographic_context_free((encryption_context_t *)self->_key);
+ self->_key = NULL;
}
#else
- if (self and self->_cryptographic_context) {
- free(self->_cryptographic_context);
- self->_cryptographic_context = NULL;
+ if (self and self->_key) {
+ free(self->_key);
+ self->_key = NULL;
}
#endif
destination->distribution_hash = source->distribution_hash;
destination->flags = source->flags;
#ifdef HAVE_OPENSSL_CRYPTO
- if (destination->_cryptographic_context) {
- cryptographic_context_free((encryption_context_t *)destination->_cryptographic_context);
- destination->_cryptographic_context = NULL;
+ if (destination->_key) {
+ cryptographic_context_free((encryption_context_t *)destination->_key);
+ destination->_key = NULL;
}
- if (source->_cryptographic_context) {
- destination->_cryptographic_context =
- aes_clone_cryptographic_context(((encryption_context_t *) source->_cryptographic_context));
- if (destination->_cryptographic_context) {
+ if (source->_key) {
+ destination->_key =
+ aes_clone_cryptographic_context(((encryption_context_t *) source->_key));
+ if (destination->_key) {
}
}
#else
- destination->_cryptographic_context = aes_clone_key(static_cast<aes_key_t *>(source->_cryptographic_context));
+ destination->_key = aes_clone_key(static_cast<aes_key_t *>(source->_key));
#endif
return destination;