うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【C#】文字列から一意の数字を生成する

ハッシュを利用することにより、文字列から一意の数字を生成することができます

using System.Security.Cryptography;
using System.Text;

public static class Utility
{
    public static int StringToInt(string input)
    {
        using (var sha256 = SHA256.Create())
        {
            var hashBytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(input));
            var result = BitConverter.ToInt32(hashBytes, 0);
        }
        return result;
    }
}

例えば

unity => 101415333

qwerty => -481564571

といったように変換できます