![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
密码学
XX風
翻山越岭
展开
-
SSL证书原理讲解
一直以来都对数字证书的签发,以及信任等事情一知半解。总算有个闲适的周末来总结和深入一下相关的知识。CA:CA(Certificate Authority)是证书的签发机构,它是负责管理和签发证书的第三方机构,是受到广泛信任的机构。一般在我们的电脑中,浏览器里,或者手机里都会内置一批这样的受信机构的根证书。证书信任链:比如我是CA机构我签发了一封证书 我这份证书是信任B证书的另外B证书又信任了其他的C证书…那么这条链条下去的都可以信任。所以一旦CA机构的根证书不可信了,那么所有由他签发出来的证书将全部转载 2021-03-02 20:09:17 · 361 阅读 · 1 评论 -
openssl_基于EVP接口的RSA算法签名与验签
#include <iostream>#include <openssl/rsa.h>#include <openssl/err.h>#include <openssl/evp.h>#include <openssl/pem.h>#ifdef _WIN32#include <openssl/applink.c>#endifusing namespace std;#define PUBKEY_PEM "pubkey.pe原创 2021-02-20 11:10:22 · 2893 阅读 · 0 评论 -
对称加密算法性能测试并移植到Linux
evp_cipher.cpp#include <iostream>#include <openssl/evp.h>#include <openssl/err.h>#include <fstream>#include <ctime>// _CRT_SECURE_NO_WARNINGS#ifdef _WIN32#include <openssl/applink.c>#endif#include "xsec.h"usi原创 2021-02-19 13:53:23 · 370 阅读 · 0 评论 -
封装C加密类支持AES和3DES完成初始化
#include <iostream>#include <openssl/evp.h>#include <openssl/err.h>#include <fstream>// _CRT_SECURE_NO_WARNINGS#include <openssl/applink.c>using namespace std;bool EncryptFile(string passwd, string in_filename, string原创 2021-02-19 11:27:55 · 145 阅读 · 0 评论 -
封装DES_CBC加解密算法实现PKCS7填充
#include <iostream>#include <openssl/des.h>using namespace std;//交易数据struct Slip{ char from[16] = { 0 }; //A=>B 10000 char to[16] = { 0 }; //篡改为 B=>A 10000 long long amount = 0;};static const_DES_cblock key = "1234原创 2021-02-19 10:59:26 · 679 阅读 · 0 评论 -
DES的CBC算法加解密演示
#include <iostream>#include <openssl/des.h>using namespace std;//½»Ò×Êý¾Ýstruct Slip{ char from[16] = { 0 }; //A=>B 10000 char to[16] = { 0 }; //´Û¸ÄΪ B=>A 10000 long long amount = 0;};static const_DES_cblock key原创 2021-02-19 09:59:34 · 878 阅读 · 1 评论 -
通过XOR实现对称加密分组算法
#include<iostream>using namespace std;/////////////////////////////////////////////////////// 对称加解密数据/// @para data 输入数据/// @para data_size 输入数据大小/// @para out 输出数据/// @para pass 秘钥/// @para pass_size 秘钥长度/// @return 加解密后数据大小#define XOR_BLO原创 2021-02-18 23:43:04 · 230 阅读 · 1 评论 -
openssl_消息认证码
原创 2021-02-16 01:08:51 · 267 阅读 · 0 评论 -
使用MD5_HashList验证文件完整性_定时检测文件修改
#include <iostream>#include <openssl/md5.h>#include <fstream>#include <thread>using namespace std;string GetFileListHash(string filepath){ string hash; //以二进制方式打开文件 ifstream ifs(filepath, ios::binary); if (!if原创 2021-02-15 20:21:41 · 157 阅读 · 0 评论 -
使用OpenSSL_EVP接口完成SHA3和国密SM3散列生成
unsigned char data[128] = "测试EVP SHA3 国密SM3";int data_size = strlen((char*)data);//初始化EVP上下文auto ctx = EVP_MD_CTX_new();/*const EVP_MD *EVP_md5(void);const EVP_MD *EVP_sha1(void);const EVP_MD *EVP_sha224(void);const EVP_MD *EVP_sha256(void);cons原创 2021-02-15 20:19:01 · 1712 阅读 · 0 评论 -
使用openssl BIO接口实现base64编解码
#include <iostream>#include <openssl/bio.h>#include <openssl/evp.h>#include <openssl/buffer.h>using namespace std;int Base64Encode(const unsigned char* in, int len, char* out_base64){ if (!in || len <= 0 || !out_base64)原创 2021-02-15 12:02:58 · 1461 阅读 · 0 评论