Hash128
структура в UnityEngine
Выполнено в:UnityEngine.CoreModule
Описание
Представляет 128-битное хэш-значение.
Используйте Hash128 для уникальной идентификации части данных. 128-битное хеш-значение имеет крайне низкую вероятность столкновений хеш-значений, так что вы можете предположить, что если хеш-значения двух частей данных идентичны, то данные тоже идентичны. Например, чтобы быстро определить, изменилось ли содержание пикселей текстуры или они идентичны между несколькими текстурами, вы можете использовать Texture.imageContentsHash.
Для вычисления хеш-значений для некоторых данных используйте функцию Hash128.Compute. Для вычисления хеш-значений для нескольких частей данных постепенно используйте функцию Hash128.Append.
using UnityEngine;
public class ExampleScript : MonoBehaviour { void Start() { var hash = new Hash128(); hash.Append(42); hash.Append(13.0f); hash.Append("Hello"); hash.Append(new int[] {1, 2, 3, 4, 5}); // prints "2d6e582c3fcfb4b8f3c16650a75dc37b" Debug.Log(hash.ToString()); } }
Хеш-алгоритм, используемый для вычисления значений Hash128, называется SpookyHash V2. Обратите внимание, что хотя этот хеш-алгоритм достаточно быстр в вычислении и обладает хорошими свойствами распределения хеш-значений, он не является криптографической хеш-функцией.
Свойства
| Свойство | Описание |
|---|---|
| isValid | Возвращает true, если значение хэша является действительным. (Только чтение) |
Конструкторы
| Конструктор | Описание |
|---|---|
| Hash128 | Непосредственно инициализирует Hash128 с 128-битным значением. |
Открытые методы
| Метод | Описание |
|---|---|
| Append | Хеширование новых входных данных и объединение с текущим хеш-значением. |
| ToString | Преобразование Hash128 в строку. |