c#中如何生成一个每小时变化一次的用户名
这篇文章将为大家详细讲解有关c#中如何生成一个每小时变化一次的用户名,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

站在用户的角度思考问题,与客户深入沟通,找到金堂县网站设计与金堂县网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖金堂县地区。
在做一个ASP.NET的项目,想留一个超级管理员的账号。
如果这个超级管理员的用户名是固定的(例如administrator),这样会不安全;所以想用下面的这种方式生成一个长字符串的用户名,而且每小时变化一次。
用户名的组成:年+SuperAdmin+总天数+小时à进行MD5加密。因此,用户名每个小时都会变化。
using System;
using System.Text;
using System.Security.Cryptography;
namespace CKI.JsonServer.Models
{
public class SuperAdministratorHelper
{
public static string GetName()
{
int year = DateTime.Now.Year;
int month = DateTime.Now.Month;
int day = DateTime.Now.Day;
int hour = DateTime.Now.Hour;
int SumDays = GetDayOfYear(month) + day;
if (month > 2)
{
if ((year % 4 == 0) && (year % 100 != 0) || year % 400 == 0)
{
SumDays++;
}
}
string sa = year + "SuperAdmin" + SumDays.ToString("#000") + 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#中如何生成一个每小时变化一次的用户名”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文章名称:c#中如何生成一个每小时变化一次的用户名
当前URL:http://www.jxjierui.cn/article/ieoeod.html


咨询
建站咨询
