![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
加密解密
加密解密
无聊的阿乐
每天进步一点点,量变才会质变
展开
-
加密机和客户端互相验证身份
1、业务端与加密机交互业务代码:业务端连接上加密机之后,会在本地生成一个密钥对文件,里边包含公钥和私钥业务端先把公钥发给加密机,然后加密机用该公钥加密一个数据发回来,业务端用私钥解密该数据,把该数据作为会话密钥(对称密钥)之后业务端和加密机的通信都采用这个对称密钥对数据加密解密。会话密钥本质是对称密钥,只在一次连接中生效,再次连接会重新生成2、管理端(采用ukey)认证加密机...原创 2022-02-21 13:59:46 · 1468 阅读 · 0 评论 -
复杂结构体定义的同时赋值 - 签名结构体,公钥结构体
签名数据结构体定义typedef struct ECCSignature_st{ unsigned char r[64]; unsigned char s[64];}ECCSignature;签名数据结构体赋值ECCSignature sig = { { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x0原创 2021-08-28 14:33:38 · 368 阅读 · 0 评论 -
可变参数宏的一些使用方法,方便打印log、出错信息等(出错后可以定位到哪一个文件,哪一个函数,哪一行)
宏定义:#define ERROR_MSG(format, ...) \ fprintf(stderr, "Fi:%s Fuc:%s L:%d"format, __FILE__, __FUNCTION__,__LINE__, ##__VA_ARGS__) #define DEBUG_MSG(format, ...) \ fprintf(stdout, format, ##__VA_ARGS__) 具体使用:rv = SKF_ConnectDev((LPSTR)input, &am原创 2021-08-28 15:06:46 · 168 阅读 · 0 评论 -
打印加密解密的数据、公钥私钥的函数,记录一下,方便以后直接使用
打印加密解密数据的函数://函数定义void print_data(const char *string, unsigned char*data, int size){ int i; printf("---------------------------------------------\n"); printf("%s:\n", string); for(i=0; i<size; i++) { printf("%02x ", data[i]); if((i%16) == 1原创 2021-08-28 14:46:43 · 369 阅读 · 0 评论