У меня есть приложение unity3d, которое запрашивает строку имени файла json, включая его хэш, в моем веб-сервере django. Тогда мое приложение Unity проверит мой существующий хеш-образ, если он такой же, как запрошенный json. Моя проблема заключается в том, что результат хеша единицы отличается от моего значения результата хеша Python. Я также попытался хэшировать строку на обоих, и она возвращает одно и то же хеш-значение.
Хэш Python:
>>> image_file = open('C:/image.png').read()
>>> hashlib.md5(image_file).hexdigest()
'658e8dc0bf8b9a09b36994abf9242099'
Хэш Unity3d:
public static string ComputeHash()
{
// Form hash
System.Security.Cryptography.MD5 h =System.Security.Cryptography.MD5.Create();
var myImage = File.OpenRead(PathByPlatform("image.png"));
var data = h.ComputeHash(myImage );
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for (int i = 0; i < data.Length; ++i)
{
sb.Append(data[i].ToString("x2"));
}
return sb.ToString();
//This fucntion returns
//fac7f19792a696d81be77aca7dd499d0
}