【发布时间】:2011-01-06 10:03:04
【问题描述】:
您好,我一直在使用LibTomCrypt 在移动设备(目前为 iPhone OS 和 Android)上使用 SHA1 加密(用于数据完整性检查)。我想知道是否有人在使用其他任何东西,要考虑的事情是可移植性(首选 C,但 C++ 也是一种选择)和库大小(小 == 更适合我的特定需求)。
谢谢
【问题讨论】:
标签: c++ iphone c android encryption
您好,我一直在使用LibTomCrypt 在移动设备(目前为 iPhone OS 和 Android)上使用 SHA1 加密(用于数据完整性检查)。我想知道是否有人在使用其他任何东西,要考虑的事情是可移植性(首选 C,但 C++ 也是一种选择)和库大小(小 == 更适合我的特定需求)。
谢谢
【问题讨论】:
标签: c++ iphone c android encryption
如果您在 iPhone 上,您可以编写一个调用 CommonCrypto 例程的包装类,以减少库大小要求并增强可移植性。例如,如果在另一个平台上编译,您的包装器将调用其他例程。 CommonCrypto 的好处在于它是由 Apple 预先构建的。对它的调用也完全在 C 中。
【讨论】:
对于大小/速度——您可以让 Openssl 为某些处理器生成扁平化程序集。我建议您查看构建目录以了解可能的情况。我通常会根据自己的需要构建自己的 Openssl 库。
【讨论】:
我查看了很多库,最后我选择了“TomCrypt”,原因如下:
1) 出色的便携性。您可以以非常简单的方式自定义库,以几乎确保在许多设备之间的可移植性。
2) 非常模块化,我可以(以一种非常简单的方式)挑选和编译我的特定应用程序所需的加密算法,(在这个例子中是 SHA-1 和其他几个)
3) 非常轻巧。由于模块化,它最终成为我代码中非常轻量级的补充。
【讨论】: