【发布时间】:2014-09-18 20:09:10
【问题描述】:
根据crypt(3) 手册,Blowfish(由 $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)
但是,Blowfish(不在主线 glibc 中;在某些 Linux 发行版中添加) 部分令人困惑且文档不足,所以我有几个问题。
首先,如果“主线”glibc 不支持 Blowfish,那么哪个 glibc 支持? Ubuntu 14.04 使用 glibc 2.19,打包在 libc6 / libc6-dev 包中。假设这是“主线”glibc,则不支持 Blowfish。显然有一个名为 crypt_blowfish 的补丁将 Blowfish 支持添加到 glibc。为什么在 Ubuntu 中默认不启用它?最后但同样重要的是,让 Ubuntu 中的 C crypt() 函数理解 Blowfish 哈希的最简单方法是什么?
【问题讨论】:
标签: encryption glibc password-encryption blowfish crypt