我正在开发一个实用程序,除其他外,它使用用户提供的密码加密数据。我没有太多编写好的可移植代码的经验,所以我正在努力学习如何做好它。用于执行散列和加密功能的最佳库是什么?
澄清一下,我不是在寻找具有最佳功能的库,而是在寻找可在大多数操作系统上使用并且通常安装在许多操作系统上的库。我知道我不会找到在大多数操作系统上默认安装的库,但我想选择一个为大多数用户提供最简单安装的库。
我查看了 Windows 7 (Cygwin)、Mac OS X 10.8、Debian 6.0.5 和 Ubuntu 12.04.1 LTS 的原版安装,它们唯一的共同点是crypt
我理解不推荐,因为使用了弱具有有限密钥大小的加密算法。
目前我正在考虑使用libmcrypt
,mhash
因为它们在 Debian 和 Ubuntu 上都可以通过 aptitude 获得(据我所知,大多数其他 Linux 发行版),可以通过 MacPorts 或 Homebrew 安装在 Mac OS X 上,并且可以在用于 Windows 的 Cygwin 安装程序。它们也可用于 FreeBSD、OpenBSD 和 NetBSD。
在选择要使用的最佳库以及指出我可能没有考虑过的其他因素时,我非常感谢一些帮助。