お世話になっております。
FNameの文字列から数字を生成するロジックと同じ計算をする方法を探しています。
外部ツールで"Hoge"から生成した数字とランタイムでFName(“Hoge”)を比較したときに一致する
ようにしたいためです。
FNameのコードをみたのですが、ぱっと見よくわかりませんでした。
int CreateHash(const std::string &str)
{
return //ここのFNameの計算式
}
FNameが行っている計算をご教示いただけないでしょうか。
お忙しい中大変申し訳ありません
以上よろしくお願いします。
お世話になっております。
FNameのハッシュする方法ですと、FNameのコンストラクタから探せばベストな方法だと思います。そしてFName(“Hoge”)を実行する時に、デバッガを使えばどうやって数字にしているのか分かると思います。
よろしくお願いします。
回答ありがとうございました。
返事が遅れて申し訳ありません。
コンストラクタの内部処理を追って行ったらCRCの計算関数を見つけました。
ありがとうございました。
FNameの実装を本当に詳しく追っているわけではないので
ハッキリとは言えませんが、単純にCRCハッシュ値だけで自身の
ユニーク番号を生成しているわけではないように見えてよくわからなかったので結局Hash計算を自作しました。