Windows加密库DLL中的RSA加密/解密?

时间:2013-12-30 09:32:19

标签: windows dll cryptography

我处于需要使用AES-256,SHA1,2和RSA的情况,但这些函数需要从内部的Windows dll文件加载(类似于advapi32.dll中的cryptoAPI,可以找到在C:\ Windows \ system32)。

除了RSA加密,我在advapi32.dll中找到了我需要的几乎所有东西。那么,你知道Windows中的其他任何加密库(应该支持XP2)吗?

在最坏的情况下,任何dll格式的免费外部加密库都会受到赞赏。

3 个答案:

答案 0 :(得分:1)

RSA encryption/decryption is supported by the CryptoAPI

来自http://en.wikipedia.org/wiki/Microsoft_CryptoAPI

[...]It is a set of dynamically linked libraries that provides an abstraction layer which isolates programmers from the code used to encrypt the data.

因此,advapi32.dll≠CryptoAPI。但是,由于它是CryptoAPI函数的抽象,因此链接到该dll应该暴露您需要的任何功能,与算法无关。

要严格回答这个问题,处理RSA内容的CSP库文件是rsaenh.dll。但是,我不确定为什么你需要知道这一点;像@SimonMourier(和我)所说,CryptoAPI处理链接到适当的CSP。从advapi32.dll调用相应的函数应该允许使用各种算法,包括RSA。

答案 1 :(得分:1)

如果你真的厌恶使用内置的Windows内容,那么总会有Crypto ++。它支持被编译为DLL afaik。 http://www.cryptopp.com/

答案 2 :(得分:0)

在不使用.Net或第三方组件的情况下,我在Windows中找不到合理的RSA解决方案。那么,关于.Net,请参阅klugerama的最后评论。关于第三方组件,我找到了一个很棒的VB6用户库,它可以在Windows XP中运行而无需安装.NetFramework 2.0+。它叫做VBCOrLib:

http://www.kellyethridge.com/vbcorlib/

对于C ++用户的替代解决方案是RaptorFactor建议的Crypto ++。

感谢您的帮助!