地穴类型识别/etc/shadow

标签 c linux encryption

我知道/etc/shadow 中的密码字段如果不是简单的 DES 加密,则以 ${number}$ 为前缀。我找不到将加密类型与给定数字相关联的表格。

例如,$1$ 表示 MD5。其余的我没注意到(即 SHA1、SHA256、Twofish、Blowfish 等)

我已经浏览了 passwdchpasswd 以及 glib 的源代码,但没有找到我想要的东西。

是否有人介意分享一个网页链接,甚至是关于我在 glib 中哪里可以找到这样一个表格的线索?我需要在程序内以编程方式更新密码,而不使用 system() 或 exec*() 调用。我想编写原始代码,因为我想保留统一的 3 条款 BSD 许可证和我的代码的完整版权。

如果这是重复的,请原谅我。我发现了很多关于如何解析/etc/shadow 的问题,但没有一个专门询问如何识别第二个字段的加密类型。

编辑:

仅供引用,here is the announcement来自插入实现 SHA(通过 DES)并支持 BSD Blowfish 的讨论组。

最佳答案

crypt(3) 手册页的注释部分对此进行了描述。

关于地穴类型识别/etc/shadow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2287123/

相关文章:

python - AES 256 加密 -> 更改初始化向量会在不知道 key 的情况下稍微更改解密的消息

c - 寻求有关安装和使用mips-gcc交叉编译器以生成自定义ASM的帮助

c++ - 关于CUDA的架构(SM、SP)

c - I2C 通信和轮询

linux - ld : Using -rpath, $ORIGIN 在共享库中(递归)

linux - Eclipse 3.5+ : Loading plug-ins from auto-created . 用户主目录中的 eclipse 目录

c# - C# 默认使用的 RSA 算法是什么,它在 Crypto++ 中的合适参数是什么?

ios - 为 iPhone 应用程序添加加密,它如何影响批准?

c - C 中的按位运算 - AnyOddBit

c - 免费后使用ASAN堆