Compute
Compute a hash of input data string.
Read time 5 minutesLast updated 5 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
Compute(string)
Compute a hash of input data string.
public static Hash128 Compute(string data)
Parameters
Input data string. Note that Unity interprets the string as UTF-8 data, even if internally in C# strings are UTF-16.
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var hash = Hash128.Compute("The quick brown fox jumps over the lazy dog"); // prints "c79306aa46e8122b1b340724747e361d" Debug.Log(hash.ToString()); }}
Compute<T>(NativeArray<T>)
Compute a hash of input data.
public static Hash128 Compute<T>(NativeArray<T> data) where T : struct
Parameters
Input data array.
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 10, 20, 30, 40, 50 }; var hash = Hash128.Compute(data); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}
Compute<T>(NativeArray<T>, int, int)
Compute a hash of a slice of input data.
public static Hash128 Compute<T>(NativeArray<T> data, int start, int count) where T : struct
Parameters
Input data array.
The first element in the data to start hashing from.
Number of array elements to hash.
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 0, 10, 20, 30, 40, 50, 60 }; // will hash bytes: 10, 20, 30, 40, 50 var hash = Hash128.Compute(data, 1, 5); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}
Compute<T>(`<>[])
Compute a hash of input data.
public static Hash128 Compute<T>(T[] data) where T : struct
Parameters
Input data array.
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 10, 20, 30, 40, 50 }; var hash = Hash128.Compute(data); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}
Compute<T>(`<>[], int, int)
Compute a hash of a slice of input data.
public static Hash128 Compute<T>(T[] data, int start, int count) where T : struct
Parameters
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 0, 10, 20, 30, 40, 50, 60 }; // will hash bytes: 10, 20, 30, 40, 50 var hash = Hash128.Compute(data, 1, 5); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}
Compute<T>(List<T>)
Compute a hash of input data.
public static Hash128 Compute<T>(List<T> data) where T : struct
Parameters
Input data array.
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 10, 20, 30, 40, 50 }; var hash = Hash128.Compute(data); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}
Compute<T>(List<T>, int, int)
Compute a hash of a slice of input data.
public static Hash128 Compute<T>(List<T> data, int start, int count) where T : struct
Parameters
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new byte[] { 0, 10, 20, 30, 40, 50, 60 }; // will hash bytes: 10, 20, 30, 40, 50 var hash = Hash128.Compute(data, 1, 5); // prints "6e8dd00dc1d495a01d9e6dbffcd174b2" Debug.Log(hash.ToString()); }}
Compute<T>(T)
Compute a hash of input data.
public static Hash128 Compute<T>(ref T val) where T : unmanaged
Parameters
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |
Remarks
The value must be an "unmanaged" C# type. Primitive types like int, float, bool, enums, pointers, or structs containing primitive types are all unmanaged types. See Unmanaged types in C# language reference.
The int and float overloads use a dedicated hashing code path that is optimized for 4-byte data sizes.
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new Vector3(1.5f, 7.0f, 42.0f); var hash = Hash128.Compute(ref data); // prints "abc99ce06a8d7acca0714cd64d661808" Debug.Log(hash.ToString()); }}
Compute(int)
Compute a hash of input data.
public static Hash128 Compute(int val)
Parameters
Input value.
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |
Remarks
The value must be an "unmanaged" C# type. Primitive types like int, float, bool, enums, pointers, or structs containing primitive types are all unmanaged types. See Unmanaged types in C# language reference.
The int and float overloads use a dedicated hashing code path that is optimized for 4-byte data sizes.
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new Vector3(1.5f, 7.0f, 42.0f); var hash = Hash128.Compute(ref data); // prints "abc99ce06a8d7acca0714cd64d661808" Debug.Log(hash.ToString()); }}
Compute(float)
Compute a hash of input data.
public static Hash128 Compute(float val)
Parameters
Input value.
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |
Remarks
The value must be an "unmanaged" C# type. Primitive types like int, float, bool, enums, pointers, or structs containing primitive types are all unmanaged types. See Unmanaged types in C# language reference.
The int and float overloads use a dedicated hashing code path that is optimized for 4-byte data sizes.
Examples
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { var data = new Vector3(1.5f, 7.0f, 42.0f); var hash = Hash128.Compute(ref data); // prints "abc99ce06a8d7acca0714cd64d661808" Debug.Log(hash.ToString()); }}
Compute(void*, ulong)
Compute a hash of input data.
public static Hash128 Compute(void* data, ulong size)
Parameters
Returns
Type | Description |
|---|---|
| Hash128 | The 128-bit hash. |