Описание
Представляет 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 в строку. |
Статические Методы
Compute | Вычисляет хэш входных данных. |
Parse | Преобразование строки в шестнадцатеричном формате в значение Hash128. |