匹配PHP和Objective-C SHA密码哈希

时间:2014-10-03 22:42:23

标签: php objective-c security hash passwords

我需要同步PHP和Objective-C客户端,以便他们可以使用相同的凭据登录。我找到了几种不同的哈希密码方法,但问题是它们的输出都没有匹配!

是否有人都有PHP和Objective-C的代码,它们将应用SHA256(或等效的)散列算法,使其输出相同?

目前我正在将它用于Objective-C:

//salt the password
NSString *saltedPassword = [NSString stringWithFormat:@"%@%@", @"<passwd input>", kSalt];

//prepare the hashed storage
NSString* hashedPassword = nil;
unsigned char hashedPasswordData[CC_SHA1_DIGEST_LENGTH];

//hash the pass
NSData *data = [saltedPassword dataUsingEncoding: NSUTF8StringEncoding];
if (CC_SHA1([data bytes], [[NSNumber numberWithInt:[data length]] doubleValue], hashedPasswordData)) {
    hashedPassword = [[NSString alloc] initWithBytes:hashedPasswordData length:sizeof(hashedPasswordData) encoding:NSASCIIStringEncoding];
}

这适用于PHP:

$password = "<passwd input>" . "<salt>";

$password = sha1($password);

此外,这个Github帖子似乎非常有用,但是Objective-c部分不起作用:https://gist.github.com/pcperini/2889493

0 个答案:

没有答案