使用更新版本的AIX并使用/ etc / security / passwd,您可以使用新的SHA1 / SHA256 / SHA512哈希值。它们看起来像那样(使用密码“secret”的示例哈希字符串结果):
- salted sha1 : {ssha1}12$tyiOfoE4WXucUfh/$1olYn48enIIKGOOs0ve/GE.k.sF
- salted ssha256: {ssha256}12$tyiOfoE4WXucUfh/$YDkcqbY5oKk4lwQ4pVKPy8o4MqcfVpp1ZxxvSfP0.wS
- salted ssha512: {ssha512}10$tyiOfoE4WXucUfh/$qaLbOhKx3fwIu93Hkh4Z89Vr.otLYEhRGN3b3SAZFD3mtxhqWZmY2iJKf0KB/5fuwlERv14pIN9h4XRAZtWH..
配置文件/etc/security/pwdalg.cfg解释{algo_name}之后的数字是“num_cost”,我们可以用2 ^ num_cost获取散列函数中使用的迭代次数。
我需要从后一个/ etc / security / passwd中的Scala应用程序生成有效的哈希。
我尝试调整commons-codec Sha2Crypt(https://commons.apache.org/proper/commons-codec/apidocs/src-html/org/apache/commons/codec/digest/Sha2Crypt.html)女巫实现了官方的Sha-Crypt算法(https://www.akkadia.org/drepper/SHA-crypt.txt),但这给出了错误的哈希值。
有人知道该怎么办吗?
答案 0 :(得分:2)
简短的回答是,appart for md5,这是标准的unix实现,仅区别于前缀({smd5}代替" $ 1"),其他实现与标准Unix的显着不同https://www.akkadia.org/drepper/SHA-crypt.txt描述了一个地穴。事实上,他们只知道:
改变了:
可以在Rudder AixPasswordHashAlgo.scala
中找到有效的Scala实现(目前,在该拉取请求中:https://github.com/Normation/cf-clerk/pull/84/files)