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