OpenSSL 和Botan 比较

 

OpenSSL
使用C语言编写,是最老牌、使用最广泛的加密库之一,被集成于大多数Linux发行版中,大量网站依赖其提供HTTPS服务。

优点:使用极为广泛,效率和安全性久经考验,即使出现漏洞也可以很快被发现并修补,在不知道用什么的情况下是最稳妥的选择。

缺点:官方文档不够完善,很多API需要查阅相关书籍和博文才知道怎么用。内部代码比较乱。

建议:使用OpenSSL进行编程时,尽量使用更高级的EVP系列API(就是那堆以EVP_开头的函数),这是OpenSSL官方推荐的做法。

Botan
使用C++11编写的加密库。虽然目前使用C++11编写,但实际上其诞生于九十年代,也是比较老牌的加密库。

优点:包含的算法齐全,C++ API用起来很方便,其内部代码不像OpenSSL那样杂乱无章。提供FFI模块,可以用于多种语言,包括C和Python等。

缺点:管道/过滤器机制性能偏低,且未来不太可能改善。文档部分常用API没有示例,使用不便。

建议:C++项目建议使用此库。
————————————————
版权声明:本文为CSDN博主「qmickecs」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qmickecs/article/details/72669595

 

SHA256WithRSA 原理:

一般应用如下: 

发送方:

1. 首先对明文使用接收方的公钥加密,得到密文;

2. 然后对密文先 做SHA256,得到hash值;

3. 然后使用发送方的 私钥进行签名;

 

接收方:

1. 先使用发送方的公钥进行验签;

2. 然后用接收方的私钥解密。

 

流程图如下:

在这里插入图片描述

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值