数据的加密和解密_加密和验证

加密和验证。

加密机制保证数据的机密性,防止数据在传输过程中被窃听;
验证机制能保证数据真实可靠,防止数据在传输过程中被仿冒和篡改

 加密功能,无法验证解密后的信息是否是原始发送的信息或完整。
 采用HMAC(Keyed-Hash Message Authentication Code)功能,比较完整性校验值ICV 进行数据包完整性和真实性验证。
    常用的验证算法包括:
	    消息摘要MD5(Message Digest 5)、
		安全散列算法SHA1(Secure Hash Algorithm 1)、
		SHA2。其中,MD5、SHA1算法安全性低,存在安全风险,不推荐使用。 
  在IPSec发送方 加密后的报文通过验证算法和对称密钥生成完整性校验值ICV,IP报文和完整性校验值ICV同时发给对端;
  在IPSec接收方,使用相同的验证算法和对称密钥对加密报文进行处理,同样得到完整性校验值ICV,
    然后比较完整性校验值ICV进行数据完整性和真实性验证,验证不通过的报文直接丢弃,验证通过的报文再进行解密

 在RSA加密算法中,RSA公钥的public exponent通常都是65537,用base64来表示就是AQAB

C++ 开发

 1.安装  sudo apt-get install openssl libssl-dev
 2.代码
 3.编译命令或者cmake
	gcc -o rsa_en rsa.cpp -lssl -lcrypto

    whereis openssl	
    openssl version -a 	


在 Linux 系统中,OpenSSL 的默认安装路径通常如下:
    二进制文件:/usr/bin/openssl
    库文件    :/usr/lib/libssl.so 和 /usr/lib/libcrypto.so
    配置文件  :/etc/ssl/openssl.cnf

意味着你的编译环境中缺少了某些必要的库或头文件,或者链接设置不正确。

--缺少
--多个版本-选用的版本不对
--配置不正确 
 1.检查是否安装了 OpenSSL 3.0
 2.检查系统安装了几个openssl

参考

 Base64转换:AQAB=65537,你知道为什么吗?  https://www.cnblogs.com/midea0978/archive/2007/05/22/755826.html		
posted @ 2025-07-30 18:10  辰令  阅读(25)  评论(0)    收藏  举报