MD5 や SHA といったハッシュ関数を使いデータをハッシュ値に変換することで、より安全性の高いデータのやり取りやデータの比較に使えます。
MD5 - Wikipedia
Secure Hash Algorithm - Wikipedia
開発者に身近なところでいえば Git のコミットも SHA-1 というアルゴリズムのハッシュ値で管理されています。
本題ですが、UE4 でも気軽にこれらのアルゴリズムを使ってデータをハッシュ値に変換することができます。
これらが扱えると例えば、スマホゲームなどでサーバーにあるコンテンツデータがローカルのものと一致しているか更新があるかなどがハッシュ値の比較で行えます。
エンジンデフォルトでサポートされているのは、MD5 , SHA-1 , SHA-256 です。
いずれもモジュールの追加などは不要で比較的容易に扱えます。
MD5
#include "Misc/SecureHash.h" FString Hash = FMD5::HashBytes(Data.GetData(), Data.Num()); UE_LOG(LogTemp, Log, TEXT("Hash[%s]."), *Hash);
.
SHA-1
#include "Misc/SecureHash.h" FSHAHash Hash; FSHA1::HashBuffer(Data.GetData(), Data.Num(), Hash.Hash); UE_LOG(LogTemp, Log, TEXT("Hash[%s]."), *Hash.ToString());
.
SHA-256
FSHA256Signature Signature; if (FPlatformMisc::GetSHA256Signature(Data.GetData(), Data.Num(), Signature)) { UE_LOG(LogTemp, Log, TEXT("Hash[%s]."), *Signature.ToString()); }
UE Version : 4.26.2-15973114