C#生成注册码的实例代码
stringt=DateTime.Now.Ticks.ToString();
t=DESKey.DESEncrypt(t,DESKey.DesKeyStr);
string[]strid=newstring[t.Length];//
for(inti=0;i<t.Length;i++)//把字符赋给数组
{
strid[i]=t.Substring(i,1);
}
strings="";
Randomrdid=newRandom();
for(inti=0;i<9;i++)//从数组随机抽取字符组成新的字符生成机器三
{
s+=strid[rdid.Next(0,strid.Length)];
}
classDESKey
{
publicconststringDesKeyStr="BLUE2013";
#regionDES加密
///<summary>
///DES加密
///</summary>
///<paramname="pToEncrypt">需要加密的字符串</param>
///<returns>加密后的字符串</returns>
publicstaticstringDESEncrypt(stringpToEncrypt,stringDesKeyStr)
{
try
{
DESCryptoServiceProviderdes=newDESCryptoServiceProvider();
byte[]inputByteArray=Encoding.Default.GetBytes(pToEncrypt);
des.Key=ASCIIEncoding.ASCII.GetBytes(DesKeyStr);
des.IV=ASCIIEncoding.ASCII.GetBytes(DesKeyStr);
MemoryStreamms=newMemoryStream();
CryptoStreamcs=newCryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write);
cs.Write(inputByteArray,0,inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilderret=newStringBuilder();
foreach(bytebinms.ToArray())
{
ret.AppendFormat("{0:X2}",b);
}
ret.ToString();
returnret.ToString();
}
catch
{
return"";
}
}
#endregion
#regionDES解密
///<summary>
///DES解密
///</summary>
///<paramname="pToDecrypt">加密后的字符串</param>
///<returns>解密后的字符串</returns>
publicstaticstringDESDecrypt(stringpToDecrypt,stringDesKeyStr)
{
try
{
DESCryptoServiceProviderdes=newDESCryptoServiceProvider();
byte[]inputByteArray=newbyte[pToDecrypt.Length/2];
for(intx=0;x<pToDecrypt.Length/2;x++)
{
inti=(Convert.ToInt32(pToDecrypt.Substring(x*2,2),16));
inputByteArray[x]=(byte)i;
}
des.Key=ASCIIEncoding.ASCII.GetBytes(DesKeyStr);
des.IV=ASCIIEncoding.ASCII.GetBytes(DesKeyStr);
MemoryStreamms=newMemoryStream();
CryptoStreamcs=newCryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write);
cs.Write(inputByteArray,0,inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilderret=newStringBuilder();
returnSystem.Text.Encoding.Default.GetString(ms.ToArray());
}
catch
{
return"";
}
}
#endregion
}
相关文章
- C#观察者模式实例介绍
- C#WinForm中Panel实现用鼠标操作滚动条的实例方法
- C#操作EXCELDataTable转换的实例代码
- c#多图片上传并生成缩略图的实例代码
- c#.net动态读取走马灯代码实例分享
- 用C#实现启动另一程序的方法实例
- C#实现微信公众号群发消息(解决一天只能发一次的限制)实例分享
- C#调用Delphidll实例代码
- C#编写Windows服务实例代码
- c#冒泡排序算法(BubbleSort)附实例代码
- C#获取全部目录和文件的简单实例
- C#的3DES加密解密算法实例代码
- c#根据文件大小显示文件复制进度条实例
- C#中把Datatable转换为Json的5个代码实例
- C#实现随鼠标移动窗体实例
- C#Pointer指针应用实例简述
- C#中结构(struct)的部分初始化和完全初始化实例分析