用于IOS的Crypt(密码,salt)返回错误的值

用于IOS的Crypt(密码,salt)返回错误的值,ios,hash,salt,crypt,Ios,Hash,Salt,Crypt,我正在尝试使用以下代码在ios中创建Crypt哈希 #include <unistd.h> const char *password = "password"; const char *salt = "$6$12$Z1NO9zPeobe2lNRI7VGoV2yeD7zZ"; const char *cryptedText =crypt(password, salt); NSLog(@"Output :%s",cryptedText); 输出:$6$12$EmCj0n6cuRQ

我正在尝试使用以下代码在ios中创建Crypt哈希

#include <unistd.h>


const char *password = "password";
const char *salt = "$6$12$Z1NO9zPeobe2lNRI7VGoV2yeD7zZ";
const char *cryptedText =crypt(password, salt);

NSLog(@"Output :%s",cryptedText);
输出:$6$12$EmCj0n6cuRQPJkS9i8q9F9JzlbErFPXFeUH7zwAT1yfBuwP7L60bNzWNvizJifxL6Dsd2mLIOFfcHyCbRoYSd0

有人能告诉我什么样的解决方案可以让它工作,并且应该与android哈希值匹配吗。我应该使用哪种算法使其在IOS中工作


提前感谢。

请考虑提供一个完整的示例,说明您期望输入的内容以及您在实际的iOS代码中得到的结果。顺便说一句,我不希望看到96个字符,您应该得到$6$+salt+$+86个base64编码哈希字符。如果你希望得到好的答案,你需要提供一个更好、更完整的问题。提供实际代码、输入和输出数据以及预期的内容和错误。我已经用我正在使用的值和salt以及实际和预期的结果编辑了问题,如果您对此有任何解决方案,请建议我。不是真正的答案,但当前的最佳做法是使用PBKDF2,请参阅维基百科OK,让我试一试,谢谢:
String password_encrypt = Crypt.crypt("password",
                "$6$12$Z1NO9zPeobe2lNRI7VGoV2yeD7zZ");
printf("Output :" + password_encrypt);