This commit is contained in:
blue-lemon0104
2026-04-07 13:35:22 +08:00
commit 0120fa9ce3
1530 changed files with 424864 additions and 0 deletions

46
include/crypto/crypto.h Executable file
View 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
View 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