我正在AIX(7.1.0.0)上编写密码重置实用程序,我需要支持SMD5,SSHA256,SSHA512和BLOWFISH密码哈希算法。我已经成功实现了SMD5,SSHA256和SSHA512的代码。但是,对于BLOWFISH算法,' crypt' API仍然返回正常的DES哈希,而不是BLOWFISH哈希。我尝试了不同的盐值前缀 - {sblowfish} {sblowfish} 08 $ {SBLOWFISH} {SBLOWFISH} 08 $。但是,我仍然没有得到河豚哈希。对于,salt值中的AIX 5.3 {sblowfish}前缀有效,我得到了所需的哈希值。但是,对于AIX 7.1,它不起作用。
The format for the salt value I am using is as follows -
MD5 - {smd5}<randomly generated 8 characters>$
SHA256 - {ssha256}06$<randomly generated 8 characters>$
SHA512 - {ssha512}06$<randomly generated 8 characters>$
BLOWFISH - {sblowfish}08$<randomly generated 22 characters>$
然后我将用户密码和salt值传递给&#39; crypt&#39; API&#39; C&#39;。
crypt(password, salt);
对于MD5,SHA256和SHA512,我得到的密码哈希符合相应的算法。 然而,对于BLOWFISH盐,&#39; crypt&#39; API拒绝盐,而是返回正常的DES哈希,虽然我在系统中有河豚。
有人可以帮帮忙吗?提前谢谢。