udf_sm4.c
/**
* mysql udf sm4
*
* @author [email protected]
* @date 2024-05-26
*/
#include <mysql.h>
#include <mysql_com.h>
#include <stdlib.h>
#include <string.h>
#include "sm4.c" // https://github.com/NEWPLAN/SMx/tree/master/SM4/Windows/SM4/src
my_bool encrypt_sm4_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
my_bool decrypt_sm4_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
char *encrypt_sm4(UDF_INIT *initid, UDF_ARGS *args, char *result, unsigned long *length, char *is_null, char *error);
char *decrypt_sm4(UDF_INIT *initid, UDF_ARGS *args, char *result, unsigned long *length, char *is_null, char *error);
void encrypt_sm4_deinit(UDF_INIT *initid);
void decrypt_sm4_deinit(UDF_INIT *initid);
my_bool encrypt_sm4_init(UDF_INIT *initid, UDF_ARGS *args, char *message) {
// 检查参数个数
if (args->arg_count != 1) {
strcpy(message, "wrong number of arguments: encrypt_sm4() requires