visual RSA Encryption for C++

visual RSA Encryption for C++

本文关键字:C++ for Encryption RSA visual      更新时间:2023-10-16

我正致力于将c#代码转换为vc++(不支持。net)。我遇到了下面一行代码。

RSA.VerifyData(hash, "SHA1", signature)

如何实现这一点?这里哈希是加密的信息。签名是从用户端获取的信息。这个函数返回一个布尔值。是否有任何方法可以直接在c++中对char*执行相同的验证?

检查CPVerifySignature或CryptVerifySignature函数-在CryptoAPI (Windows本机)中可用

您可以选择以下几个选项:

  • WinAPI加密特性。显然,只有窗口,C和winapi风格(我发现使用它很痛苦,而且违反直觉)。CAPI是较旧的,而CNG是较新的(对于Vista是较新的)。我个人不建议这个解决方案,除非你有非常特殊的要求(1)

  • Botan提供了广泛的加密特性,包括RSA签名验证。这个是我最喜欢的,它有一个很好的消息管道和过滤器模型,允许在数据上轻松使用多种算法。这个API有点程序化(本质上有一个begin_message和end_message调用包含了实际的数据写入),但我发现它很直观,很容易理解(当然,这只是一个意见)。

  • Crypto++有不同风格的API。我发现它不太直观,所以我总是选择博坦而不是这个库。API看起来更正统,但不那么直接。它的功能似乎并不比Botan差,很多人确实推荐了它。


(1)如果您需要一个由第三方审查的库(对于非常严重的用例,例如银行软件),您可能想要选择CAPI,因为它允许您使用第三方审查的Cryptography Service Provider