C++使用openssl rsa进行加密、解密和签名验证

时间:2025-01-24 12:45:04

1、openssl私钥加密,公钥解密(私钥和公钥通过字符串传进去),一般用来生成和验证签名

2、openssl私钥生成签名,公钥验证签名(私钥和公钥通过字符串传进去)

3、openssl私钥加密,公钥解密(私钥和公钥通过文件传进去),一般用来生成和验证签名

4、openssl公钥加密,私钥解密(私钥和公钥通过文件传进去),这里有一个注意点是在通过私钥解密的读取私钥信息时候使用的是PEM_read_bio_RSAPrivateKey,但是通过公钥加密读取公钥信息的时候使用的是PEM_read_bio_RSA_PUBKEY,而不是PEM_read_bio_RSAPublicKey。

5、全部代码下载

6、openssl私钥生成签名,公钥验证签名(私钥和公钥通过文件传进去),这里传进去的message是一个文件的md5值,所以在RSA_sign函数和RSA_verify函数的第一个参数使用NID_md5

7、openssl公钥加密,私钥解密(私钥和公钥通过字符串传进去)

8、使用openssl生成公钥和私钥

9、RSA是一种非对称加密算法,一般在数据加密的过程中会使用公钥加密,私钥解密,在签名生成和验证过程中会使用私钥加密,公钥解密。