¿Cómo puedo convertir este SHA256 + BASE64 de Swift a PHP?
Me dieron este código Swift para probar y hacer que funcione en PHP:
finalStr = Encryption.sha256(inputStr)
...
class Encryption {
static func sha256(_ data: Data) -> Data? {
guard let res = NSMutableData(length: Int(CC_SHA256_DIGEST_LENGTH)) else { return nil }
CC_SHA256((data as NSData).bytes, CC_LONG(data.count), res.mutableBytes.assumingMemoryBound(to: UInt8.self))
return res as Data
}
static func sha256(_ str: String) -> String? {
guard
let data = str.data(using: String.Encoding.utf8),
let shaData = Encryption.sha256(data)
else { return nil }
let rc = shaData.base64EncodedString(options: [])
return rc
}
}
Estoy haciendo lo siguiente en PHP, pero el resultado final no coincide:
$hashedStr = hash('sha256', $inputStr);
$finalStr = base64_encode($hashedStr);
echo $finalStr;
¿Qué me estoy perdiendo en el lado de PHP?