내 wordpress 백엔드가 phpass 해시 알고리즘을 사용하고 웹 서비스를 사용하여 phpass를 제공합니다. 신속한 ios end에서 신속한 동일한 phpass 해시를 생성하려고합니다. 아래 코드는 swift와 php입니다. 둘 다 동일한 입력을 가지고 있지만 출력은 다릅니다. 그래서 질문은 동일한 출력을 얻는 방법입니다. 내가 놓친 게 있니?신속한 phpass 해시 유사 기능
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);
?>
스위프트 코드 :
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;
}
매우 완벽한 코드를. –
감사합니다. 나는 맥주 몇 개를 코딩 할 수있어서 놀랍다. –