我处于需要使用AES-256,SHA1,2和RSA的情况,但这些函数需要从内部的Windows dll文件加载(类似于advapi32.dll中的cryptoAPI,可以找到在C:\ Windows \ system32)。
除了RSA加密,我在advapi32.dll中找到了我需要的几乎所有东西。那么,你知道Windows中的其他任何加密库(应该支持XP2)吗?
在最坏的情况下,任何dll格式的免费外部加密库都会受到赞赏。
答案 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 ++。
感谢您的帮助!