微小的非对称密码实现来验证下载
为了让一个小型的C ++应用程序能够通过互联网连接的客户端进行更新,我需要一种基于公钥验证下载的机制。 像DSA或RSA这样的算法似乎可以很好地完成这项工作。
然而,查看着名的可用库(Crypto ++,LibTomCrypt),它们最终都会使我的二进制大于500k,而在我看来,这样的逻辑可以在几kk内实现。 是否有任何库在实现RSA / DSA哈希验证的情况下,比如<20k的脚印?
由于我没有找到适合自己特定需求的库,所以我为此自行创建了一个库:http://github.com/paiq/dsa_verify。 目前的实现有大约50k的程序存储空间,主要归功于包含的数学数学库,但未来的版本可能会被剥离得更多。
你真的需要密码吗? 通常,要验证下载,您可以使用散列函数,如MD5或SHA。 也许你可以找到一个使用这些的小型图书馆。
无论哪种方式,您都可以尝试openssl库。 然而,我的机器上的.a大约有400K和250K的剥离。
只要您的应用程序部署在win2k或更高版本上,只有Windows才可以链接到Windows Crypto API。 Windows加密MSDN文章。
编辑:另一种可能的解决方案,如果你只需要验证下载没有受到损坏,快速的谷歌找到源的这个小的MD5实现。 根据编译的目标代码前3k处的read-me。
链接地址: http://www.djcxy.com/p/47073.html上一篇: Tiny asymmetric cipher implementation to validate download
下一篇: What is the Prototype equivalent of JQuery's $(element).text()?