如何让Ubuntu的crypt(3)支持Blowfish?

2024-01-04

根据crypt(3) http://man7.org/linux/man-pages/man3/crypt.3.html手册中,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。貌似有一个补丁叫地穴河豚 http://www.openwall.com/crypt/向 glibc 添加 Blowfish 支持。为什么 Ubuntu 中没有默认启用它?最后但并非最不重要的一点是,让 Ubuntu 中的 C crypt() 函数理解 Blowfish 哈希的最简单方法是什么?


首先,如果“主线”glibc 不支持 Blowfish,那么哪个 glibc 可以呢?

由 openwall 页面上列出的发行版构建,例如ALT Linux 和 SUSE。 如果您感兴趣,为什么它不在主线中,您可以阅读乌尔里希·德雷珀的文章 http://www.akkadia.org/drepper/sha-crypt.html.

为什么 Ubuntu 中没有默认启用它?

这个问题在这里讨论过:LP#1349252 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1349252.

最后但并非最不重要的一点是,让 Ubuntu 中的 C crypt() 函数理解 Blowfish 哈希的最简单方法是什么?

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让Ubuntu的crypt(3)支持Blowfish? 的相关文章

  • 如何在.Net中使用SQLCipher

    我想用C winform 读取一个SQLCipher数据库并找到一个开源项目SQLitePCL https github com ericsink SQLitePCL raw 但是我还没有找到这个使用的例子 而且文档也不是很多 有朋友用过这
  • 健全性检查 SSH 公钥? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已要求用户提供他们的公共 id rsa pub ssh 密钥 然后将其放入 home theiraccount ssh authorized key
  • 是否可以使用 Python 中的密码安全地加密然后解密数据?

    我在 python 程序中有一些数据 我想在使用密码写入文件之前对其进行加密 然后在使用它之前读取并解密它 我正在寻找一些可以根据密码进行加密和解密的安全对称算法 这个问题 https stackoverflow com questions
  • 使用 -static-libgcc -static-libstdc++ 编译仍然会导致对 libc.so 的动态依赖

    我正在尝试制作一个尽可能可移植的可执行文件 删除一些依赖项后 我在另一个系统上运行二进制文件时遇到以下问题 lib x86 64 linux gnu libm so 6 version GLIBC 2 15 not found requir
  • 如何对URL参数传输的秘密数据进行编码/加密?

    故事是这样的 我必须将一些机密信息从一个脚本传递到另一个脚本 在第一个脚本中 我需要先加密数据 然后再加密have to将加密数据附加到 GET 请求中并将其发送到另一个脚本 URL 看起来像这样 http mydomain com mys
  • 易于使用的Python加密库/包装器?

    我想在Python中用密码加密任意长度的字符串 我会比较喜欢not处理填充 密钥生成和 IV 因为说实话 我对密码学还不太了解 而且我想避免搞砸 我还更喜欢使用众所周知的密码作为 AES 我理想的库 我们称之为 MagicCrypt 会像这
  • 可以混淆/加密 SharedPreferences 文件吗?

    因此 我对混淆应用程序的 SharedPreferences xml 文件很感兴趣 就像 Android LVL 混淆其许可证 cahce 数据一样 这是可以想象的吗 大量的谷歌挖掘几乎没有产生任何可能解决我的问题的结果 我当然不是密码学家
  • 错误:“std::this_thread”尚未声明

    我尝试使用 std this thread sleep for 函数但收到错误 error std this thread has not been declared 包括标志 GLIBCXX USE NANOSLEEP 还需要什么来强制它
  • 使用 SSL 设置 .Net IBM.XMS 客户端

    我必须创建一个客户端来侦听队列上的消息 正在使用 SSL 我正在 dot net 中进行开发 我浏览了数百页的文档和论坛 找到了一些清晰简洁的内容 但看起来事实并非如此 我有一个 jks 并且我能够 telnet 到正在发布队列的服务器 下
  • 加密 mongodb 中的密码字段

    我有以下代码 它插入userName and password进入数据库 但密码以纯文本格式存储 我的意思是 当我查看数据库时 我可以看到插入的密码 我想存储password in encrypted format MongoClient
  • 在 C# 中加密并在 Flex 中解密

    我需要解密 Flex 中的一些数据 这些数据是用 C 加密并写入文件的 为了简单起见 我选择使用 as3crypto As3 库和 Bruce Schneier C 库 AS3 as3加密链接 http code google com p
  • 在 Android 中加密/解密字符串的简单方法

    我的问题是如何加密String String AndroidId Override public void onCreate Bundle savedInstanceState super onCreate savedInstanceSta
  • IOS 上图像的加密/解密

    我们正在使用加密 解密和 UIIMAGE 如果我们加密和解密 UIIMAge 而不保存到 iphone 画廊中 它工作正常 但如果我们加密 保存到画廊中 将 加密的图像 加载到应用程序中 然后解密它效果不好 我们使用这个函数来加密 解密 保
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 在 Postgres 中存储加密数据 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我需要在 Postgres 中以加密形式存储某些数据 显然 我需要对其进行加密 存储 并且能够读取和解密 做这个的最好方式是什么 The bes
  • 直接使用从密钥库加载的 SecretKey 时,密钥用户未经过身份验证

    我正在尝试使用 Cipher 和在 KeyStore 中加载的 SecretKey 来加密数据 但总是收到此错误 导致 android security KeyStoreException 关键用户未经过身份验证 我尝试自己创建 Secre
  • 如何在 Perl 脚本中加密或隐藏密码?

    我正在研究 Perl 脚本 它使用Expect http search cpan org dist Expect通过 telnet 登录到远程计算机 不要问 必须使用 telnet 我还根据需要执行 perforce p4 登录操作 并使用
  • 我应该存储密码的哈希值吗?

    用户系统和密码 我正在查看 MD5 内容 我想知道密码的正常 良好做法是什么 现在 我认为人们对密码进行超级加密并存储哈希值 如果是这样 密码检查如何工作 我只是让输入的密码再次经过加密过程 然后用存储的哈希值检查哈希值 对吗 这个问题可能
  • 将“String”转换为 c# .net 中 MD5“String”的 Base64 编码

    如何将我的密码 字符串 转换为 MD5 字符串 的 Base64 编码 就像这个字符串 password to X03MO1qnZdYdgyfeuILPmQ 请在这里帮助我 或者只是让我知道如何转换这个技术 password to X03M

随机推荐