encryption - 如何使Ubuntu的crypt(3)支持Blowfish?

标签 encryption glibc password-encryption blowfish crypt

根据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使用打包在libc6/libc6-dev软件包中的glibc 2.19。假设这是“主线” glibc,则不支持Blowfish。显然有一个名为crypt_blowfish的补丁程序在glibc中添加了Blowfish支持。为什么在Ubuntu中默认情况下未启用它?最后但并非最不重要的一点是,使Ubuntu中的C crypt()函数了解Blowfish哈希的最简单方法是什么?

最佳答案

First of all, if "mainline" glibc does not support Blowfish, then which glibc does?



由openwall页面上列出的发行版构建,例如ALT Linux和SUSE。
如果对您来说很有趣,为什么不在主线上,您可以阅读Ulrich Drepper's article

Why is it not enabled by default in Ubuntu?



这里讨论了这个问题:LP#1349252

And last but not least, what is the easiest way to make the C crypt() function in Ubuntu understand Blowfish hashes?



可能,没有构建自己的glibc软件包就无法实现。

关于encryption - 如何使Ubuntu的crypt(3)支持Blowfish?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24981675/

相关文章:

go - 如何使用加密/rc4

C# 加密 (AesManaged) 与 PHP 等效

c++ - 使用 uclibc 编译已删除的函数失败

hash - 密码散列 (crackstation.net)

ASP.NET Core appSettings.json 安全性

encryption - Kafka 代理的加密 keystore /trustedstore 密码

C#字节数组转字符串

c - Linux stat(2) 调用给出了不存在的设备 ID

c - glibc/realloc/无效指针

security - 为什么在数据库已经受到威胁的情况下对密码进行哈希处理?