本文将详细解释如何在c#中生成每小时都会更改的用户名。边肖觉得很实用,分享给大家参考。希望你看完这篇文章能有所收获。
在ASP.NET做一个项目,我想留下一个超级管理员账号。
如果这个超级管理员的用户名是固定的(比如administrator),就不安全;所以我想用下面的方法生成一个长字符串的用户名,并且它每小时都在变化。
用户名组成:MD5加密的年超级管理员总天数和小时数。因此,用户名每小时都会改变。
使用系统;
使用System。文字;
使用System。安全。密码学;
namespaceCKI。模型
{
public class supersadministratorylper
{
publicationstatistinggetname()
{
intyear=DateTime。现在。年;
intmonth=DateTime。现在。月;
intday=DateTime。现在,白天;
inthour=DateTime。现在。小时;
intSumDays=GetDayOfYear(月)天;
if(月2)
{
if((year%4==0)(year0!=0)||year@0==0)
{
SumDays
}
}
stringsa=year ' SuperAdmin ' SumDays。ToString('#000quot
;) + hour.ToString("#00");
return MD5(sa);
}
public static string MD5(string str)
{
byte[] result = Encoding.Default.GetBytes(str);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] output = md5.ComputeHash(result);
string strMD5 = BitConverter.ToString(output).Replace("-", "");
return strMD5;
}
private static int GetDayOfYear(int month/*取值范围:1至12*/)
{
int SumDays = 0;
if (month <= 0) return SumDays;
switch (month - 1)
{
case 11: SumDays += 30; break;
case 10: SumDays += 31; break;
case 9: SumDays += 30; break;
case 8: SumDays += 31; break;
case 7: SumDays += 31; break;
case 6: SumDays += 30; break;
case 5: SumDays += 31; break;
case 4: SumDays += 30; break;
case 3: SumDays += 31; break;
case 2: SumDays += 28; break;
case 1: SumDays += 31; break;
default: break;
}
SumDays += GetDayOfYear(month - 1);
return SumDays;
}
}
}
关于“c#中如何生成一个每小时变化一次的用户名”这篇文章就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/113109.html