Соответствие хэша паролей PHP и Objective-C SHA

Мне нужно синхронизировать клиенты 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 кажется очень полезным, но часть target-c не работает: https://gist.github.com/pcperini/2889493

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …