init
This commit is contained in:
46
include/crypto/crypto.h
Executable file
46
include/crypto/crypto.h
Executable file
@@ -0,0 +1,46 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "crypto/openssl.h"
|
||||
// #include "base64.h"
|
||||
|
||||
#include "settings.h"
|
||||
|
||||
// #define CIPHER_COUNT 5
|
||||
typedef enum {
|
||||
CIPHER_SAHE,
|
||||
CIPHER_SMHE,
|
||||
|
||||
CIPHER_ORE,
|
||||
CIPHER_AES,
|
||||
CIPHER_AESHMAC,//for 完整性校验
|
||||
|
||||
CIPHER_SM4, // ECB 模式
|
||||
CIPHER_SM4CK, // ECB+SM3 模式 , 提供完整性审计
|
||||
|
||||
CIPHER_NOCRYPT, // for such 'and', 'or' oprator or column that do not encrypt use
|
||||
CIPHER_MAPPED, // for such 'table', 'column name' use
|
||||
|
||||
CIPHER_DET, // use CIPHER_AES instead since they are the same
|
||||
CIPHER_RND,
|
||||
CIPHER_RNDSM4CK, // GCM
|
||||
CIPHER_COUNT
|
||||
|
||||
} T_Cipher;
|
||||
|
||||
const char *typeCipher2String(T_Cipher t);
|
||||
|
||||
size_t getCipherBufSize(T_Cipher t);
|
||||
|
||||
T_Cipher string2TypeCipher(const char *str);
|
||||
|
||||
uint8_t *encryptValue(T_Cipher encryptCipher, uint8_t *in_text, size_t in_size, size_t *out_size, const char *dek, bool isEncrypt = true,
|
||||
bool isFloat = false);
|
||||
|
||||
size_t getCipherFormatSize(const char *fmt, T_Cipher t);
|
||||
|
||||
// string getAESKey();
|
||||
15
include/crypto/openssl.h
Executable file
15
include/crypto/openssl.h
Executable file
@@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
int genRandomBytes(uint8_t *randombytes, size_t size);
|
||||
|
||||
int buf2hex(const uint8_t *buf, size_t bufSize, char *str, size_t *strlen);
|
||||
|
||||
int hex2buf(uint8_t *buf, size_t *bufSize, const char *strhex, size_t hexstrlen);
|
||||
// Error
|
||||
#define ERR_OPEN_FAILED -1
|
||||
#define ERR_BAD_MODE -2
|
||||
#define ERR_NEW_FAILED -3
|
||||
#define ERR_RUN_FAILED -4
|
||||
#define ERR_READ_FAILED -5
|
||||
#define ERR_STATUS_UNINIT -6
|
||||
Reference in New Issue
Block a user