My wordpress backend использует алгоритм хэша phpass и дает мне phpass с помощью веб-службы. В ios end in swift я стараюсь сгенерировать тот же самый хэширование phpass в swift. Ниже приведены коды в swift и php. Оба имеют одинаковый вход, но вывод отличается. Поэтому вопрос в том, как я могу получить такой же результат. Я что-то пропустил?phpass hash аналогичная функциональность в swift
код Php:
<?php
function phpassHash($password, $salt,$iterations){
$hash = hash('md5', $salt.$password, TRUE);
for($i = 0; $i < $iterations; $i++){
$hash = hash('md5', $hash.$password, TRUE);
}
return $hash;
}
$result = phpassHash("a_test_password","MsdvACyA", 8192);
echo bin2hex($result);
?>
Swift код:
func md5(string: String) -> String {
var digest = [UInt8](count: Int(CC_MD5_DIGEST_LENGTH), repeatedValue: 0)
if let data = string.dataUsingEncoding(NSUTF8StringEncoding) {
CC_MD5(data.bytes, CC_LONG(data.length), &digest)
}
var digestHex = ""
for index in 0..<Int(CC_MD5_DIGEST_LENGTH) {
digestHex += String(format: "%02x", digest[index])
}
return digestHex
}
func phpassHash(password: String, salt: String, iterations: Int) -> String {
var hash = md5(salt+password)
for _ in 0..<iterations {
hash = md5(hash+password)
}
return hash;
}
очень совершенный код. –
Спасибо. Я удивлен, что смогу закодировать после нескольких сортов пива –