用户是不会重复的,要求再生成一个标示性的东西。
客户要求是在10位左右,使用GUID是不行了,
根据用户的用户名生成md5也太长了,各位有没有什么办法可能生成不重复的多谢 

解决方案 »

  1.   

    /// <summary>
            /// 随机生成指定长度的密码(由a--z0-9组成)
            /// </summary>
            /// <param name="passwordLength">密码长度</param>
            /// <returns></returns>
            private static string creatPassword(int passwordLength)
            {
                string randomchars = "abcdefghijklmnopqrstuvwxyz0123456789";
                int iRandNum;
                char[] pass = new char[passwordLength];
                Random rnd = new Random();
                for (int i = 0; i < passwordLength; i++)
                {
                    iRandNum = rnd.Next(randomchars.Length);
                    pass[i] = randomchars[iRandNum];
                }
                return new string(pass);
            }
    生成a-z 0-9 指定长度的随机数...
    不重复就自己检查了..
      

  2.   

    给你一个我用的.
    private static string GetRndID()
    {
    Random ra = new Random();
    string sRnd1 = ra.Next(1,1000).ToString();
    string sRnd2 = ra.Next(1,1000).ToString();
    switch (sRnd1.Length)
    {
    case 0:
    sRnd1="000";
    break;
    case 1:
    sRnd1 = "00" + sRnd1;
    break;
    case 2:
    sRnd1 = "0" + sRnd1;
    break;
    }
    switch (sRnd2.Length)
    {
    case 0:
    sRnd2="000";
    break;
    case 1:
    sRnd2 = "00" + sRnd2;
    break;
    case 2:
    sRnd2 = "0" + sRnd2;
    break;
    }
    string year = DateTime.Now.Year.ToString();
    string mm = DateTime.Today.Month.ToString();
    string dd = DateTime.Today.Day.ToString();
    string hh = DateTime.Now.Hour.ToString();
    string mn = DateTime.Now.Minute.ToString();
    string ss = DateTime.Now.Second.ToString(); if (mm.Length ==1)
    {
    mm =   "0" + mm;
    }
    if(dd.Length ==1)
    {
    dd ="0" + dd  ;
    }
    if(hh.Length ==1)
    {
    hh = "0" + hh;
    }
    if(mn.Length ==1)
    {
    mn = "0" + mn;
    }
    if(ss.Length ==1)
    {
    ss = "0" + ss;
    }
    string GetRndID =year + mm + dd + hh + mn + ss + sRnd1 + sRnd2;
    return GetRndID;
    }