我知道/ etc / shadow中的密码字段前缀为$ {number} $,如果它不是简单的DES加密。我无法找到的是一个表格,它将加密类型与给定数字相关联。
例如,$ 1 $表示MD5。它的其余部分逃脱了我(即SHA1,SHA256,Twofish,Blowfish等)
我已经浏览了passwd
和chpasswd
以及glib,但我找不到我想要的内容。
有人会介意分享一个网页的链接,甚至是一个线索,在哪里我可能会找到这样一个表格?我需要在不使用system()或exec *()调用的情况下从程序中逐步更新密码。我想写原始代码,因为我想保留一个统一的3条款BSD许可证和我的代码的完全版权。
如果这是重复,请原谅我。我发现了很多关于如何解析/ etc / shadow的问题,但没有一个专门询问如何识别第二个字段的加密类型。
修改
作为参考,来自讨论组的here is the announcement推进了实施SHA(通过DES)并支持BSD Blowfish。
答案 0 :(得分:1)
crypt(3)
手册页在 NOTES 部分对其进行了描述。