簡體   English   中英

如何使用 GUID 在 C# 中創建 n 位唯一用戶代碼? [等候接聽]

[英]How to create n digit Unique user Code in C# using GUID? [on hold]

我必須為用戶創建一個唯一代碼,例如用於推薦朋友的 PhonePe 或 Googlepay。 我正在使用 GUId MD5 和 HashCode 有沒有更好的方法呢?

if (firstName == null)
{
    throw new Exception(Constants.Name);
}

var nameLength = firstName.Length;

if (nameLength > 3)
{
    var name = new string(firstName.Take(3).ToArray());
 Label:
    int s1 = userName.GetHashCode();
    if (s1 < 0)
    {
        s1 = s1 * -1;
    }

    Guid guidValue = Guid.NewGuid();

    MD5 md5 = MD5.Create();

    Guid hashed = new Guid(md5.ComputeHash(guidValue.ToByteArray()));

    string strPassword = Guid.NewGuid().ToString("N").Substring(0, 12);

    var result = "cw_" + name + strPassword + s1;
    var refferal = _unitOfWork.UserRepository.Find(x => x.ReferralCode == result).FirstOrDefault();
    if(refferal == null)
    {
        return result;
    }
    else 
    {
        goto Label; 
    }
}

else
{
    int s1 = userName.GetHashCode();
    if (s1 < 0)
    {
        s1 = s1 * -1;
    }
    Guid guidValue = Guid.NewGuid();

    MD5 md5 = MD5.Create();

    Guid hashed = new Guid(md5.ComputeHash(guidValue.ToByteArray()));

    string strPassword = Guid.NewGuid().ToString("N").Substring(0, 12);

    var result = "cw_" + firstName + strPassword + s1 ;

    return result;
}

您可以像這樣創建一個 Guid

Guid myId = Guid.NewGuid();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM