Conscience Core
Namespaces | Functions | Variables
crypto.cpp File Reference
#include "crypto.h"
#include "Util/conscience_log.h"
#include <openssl/conf.h>
#include <openssl/evp.h>
#include <openssl/err.h>
#include <openssl/md5.h>
#include <cstdint>
#include <fstream>
#include <openssl/sha.h>

Namespaces

 conscience_utils
 
 conscience_utils::crypto
 

Functions

vector< unsigned char > * conscience_utils::crypto::encryptAES256CBC (const unsigned char *bytes, int bytesCount, const string &key, const string &iv)
 
vector< unsigned char > * conscience_utils::crypto::encryptAES256CBC (const string &plainText, const string &key, const string &iv)
 
string conscience_utils::crypto::decryptAES256CBC (const vector< unsigned char > &encryptedChars, string key, string iv)
 
void conscience_utils::crypto::generateAES256KeyAndIVFromPassword (const string &password, string &key, string &iv)
 
vector< unsigned char > * conscience_utils::crypto::encryptAES256CBCWithPassword (const string &plainText, const string &password)
 
string conscience_utils::crypto::decryptAES256CBCWithPassword (const vector< unsigned char > &encryptedChars, const string &password)
 
static bool conscience_utils::crypto::isBase64Char (const unsigned char c)
 
string conscience_utils::crypto::encodeBase64 (const unsigned char *buf, unsigned int bufLen)
 
vector< unsigned char > * conscience_utils::crypto::decodeBase64 (const string &encodedString)
 
string conscience_utils::crypto::hashFileMd5 (const fs::path &filePath)
 
string conscience_utils::crypto::hashMd5 (const string &input)
 
string conscience_utils::crypto::hashSha512 (const string &input)
 
string conscience_utils::crypto::hashUniqueSimpleShift (const string &input)
 "Perfect" hash function by shifting each character by 1000. More...
 

Variables

constexpr int conscience_utils::crypto::AES_256_KEY_BYTES_LEN = 256 / 8
 
constexpr int conscience_utils::crypto::AES_256_IV_BYTES_LEN = 128 / 8
 
static const std::string conscience_utils::crypto::base64Chars