版本: Unity 6 (6000.0)
语言英语
  • C#

Hash128

UnityEngine 中的结构体

/

实现于:UnityEngine.CoreModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

表示一个 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使用 128 位值直接初始化 Hash128。

公共方法

Append哈希新的输入数据并与当前哈希值合并。
ToString将 Hash128 转换为字符串。

静态方法

Compute计算输入数据的哈希值。
Parse将十六进制编码的字符串转换为 Hash128 值。