Libxcrypt 软件包包含用于对密码进行单向散列操作的,现代化的库。
准备编译 Libxcrypt:
./configure --prefix=/usr \ --enable-hashes=strong,glibc \ --enable-obsolete-api=no \ --disable-static \ --disable-failure-tokens
新的配置选项的含义:
--enable-hashes=strong,glibc
构建对于安全相关的用途来说推荐使用的高强度散列算法,为了兼容性,同时构建传统的 Glibc libcrypt
提供的散列算法。
--enable-obsolete-api=no
禁用过时的 API 函数。它们对于从源代码构建的现代 Linux 系统来说没有必要。
--disable-failure-tokens
禁用失败标识功能。它用于满足与一些平台的传统散列算法库的兼容性,但是基于 Glibc 的 Linux 系统不需要它。
编译该软件包:
make
运行命令以测试编译结果:
make check
安装该软件包:
make install
上述指令禁用了过时的 API 函数,因为从源码编译的软件包不会在运行时链接到它们。然而,已知的需要链接到这些函数的二进制程序都需要 ABI 版本 1。如果您为了满足一些仅有二进制版本的程序,或者满足 LSB 兼容性,必须使用这些函数,执行以下命令再次构建该软件包:
make distclean ./configure --prefix=/usr \ --enable-hashes=strong,glibc \ --enable-obsolete-api=glibc \ --disable-static \ --disable-failure-tokens make cp -av .libs/libcrypt.so.1* /usr/lib