diff --git a/tools/mkpasswd.c b/tools/mkpasswd.c index d831d2d..51a4aae 100644 --- a/tools/mkpasswd.c +++ b/tools/mkpasswd.c @@ -162,16 +162,7 @@ main(int argc, char *argv[]) } } - if(flag & FLAG_MD5) - { - if(length == 0) - length = 8; - if(flag & FLAG_SALT) - salt = make_md5_salt_para(saltpara); - else - salt = make_md5_salt(length); - } - else if(flag & FLAG_BLOWFISH) + if(flag & FLAG_BLOWFISH) { if(length == 0) length = 22; @@ -189,6 +180,15 @@ main(int argc, char *argv[]) else salt = make_sha256_salt(length); } + else if(flag & FLAG_SHA512) + { + if(length == 0) + length = 16; + if(flag & FLAG_SALT) + salt = make_sha512_salt_para(saltpara); + else + salt = make_sha512_salt(length); + } else if(flag & FLAG_EXT) { /* XXX - rounds needs to be done */ @@ -231,11 +231,11 @@ main(int argc, char *argv[]) else { if(length == 0) - length = 16; + length = 8; if(flag & FLAG_SALT) - salt = make_sha512_salt_para(saltpara); + salt = make_md5_salt_para(saltpara); else - salt = make_sha512_salt(length); + salt = make_md5_salt(length); } if(flag & FLAG_PASS)