1. ホーム
  2. c#

ユニークなIDを生成する

2023-09-08 14:01:24

質問

私は大学の学生で、私たちのタスクは検索エンジンを作成することです。私は、フロンティアに追加されたときに各URLに割り当てるために一意のIDを生成するのに苦労しています。私はGuidと同様にSHA-256ハッシュアルゴリズムを使用しようとしました。以下は、私がguidを実装するために使用したコードです。

public string generateID(string url_add)
{
    long i = 1;

    foreach (byte b in Guid.NewGuid().ToByteArray())
    {
        i *= ((int)b + 1);
    }

    string number = String.Format("{0:d9}", (DateTime.Now.Ticks / 10) % 1000000000);

    return number;
}

どのように解決するのですか?

なぜToStringを使用しないのですか?

public string generateID()
{
    return Guid.NewGuid().ToString("N");
}

URLを元にしたい場合は、単純に以下のようにすればよいでしょう。

public string generateID(string sourceUrl)
{
    return string.Format("{0}_{1:N}", sourceUrl, Guid.NewGuid());
}

もしURLを隠したいのであれば、sourceURLに何らかの形でSHA1を使用することができますが、それで何が実現できるかはわかりません。