Encryption 如何制作Ubuntu';s crypt(3)是否支持河豚?

Encryption 如何制作Ubuntu';s crypt(3)是否支持河豚?,encryption,glibc,password-encryption,blowfish,crypt,Encryption,Glibc,Password Encryption,Blowfish,Crypt,根据手册,河豚(由$2a$前缀表示)是受支持的密码方法之一: ID | Method ───────────────────────────────────────────────────────── 1 | MD5 2a | Blowfish (not in mainline glibc; added in some | Linux distributions) 5 | SHA-256 (since glibc 2.7) 6 | SHA-512 (since glibc

根据手册,河豚(由$2a$前缀表示)是受支持的密码方法之一:

ID  | Method
─────────────────────────────────────────────────────────
1   | MD5
2a  | Blowfish (not in mainline glibc; added in some
    | Linux distributions)
5   | SHA-256 (since glibc 2.7)
6   | SHA-512 (since glibc 2.7)
但是说河豚(不在主线glibc中;在一些Linux发行版中添加了)的部分令人困惑,而且文档不足,所以我有几个问题

首先,如果“主线”glibc不支持河豚,那么哪个glibc支持? Ubuntu 14.04使用glibc 2.19,打包在libc6/libc6开发包中。假设这是“主线”glibc,则不支持河豚。显然,有一个补丁叫做向glibc添加河豚支持。为什么在Ubuntu中默认不启用它?最后,让Ubuntu中的C crypt()函数理解河豚散列的最简单方法是什么

首先,如果“主线”glibc不支持河豚,那么哪个glibc支持

由openwall页面上列出的发行版构建,例如ALT Linux和SUSE。 若你们感兴趣,为什么不在主线上,你们可以阅读

为什么在Ubuntu中默认不启用它

这里讨论了这个问题:

最后,让Ubuntu中的C crypt()函数理解河豚散列的最简单方法是什么

也许,如果不构建自己的glibc包,就没有办法做到这一点