usefull funcation

     // 日期计算
     public   static  DateTime CalculateFirstDateOfWeek(DateTime someDate)
    
{
        
int i = someDate.DayOfWeek - DayOfWeek.Monday;
        
if (i == -1) i = 6;// i值 > = 0 ,因为枚举原因,Sunday排在最前,此时Sunday-Monday=-1,必须+7=6。
        TimeSpan ts = new TimeSpan(i, 000);
        
return someDate.Subtract(ts);
    }

    
public   static  DateTime CalculateLastDateOfWeek(DateTime someDate)
    
{
        
int i = someDate.DayOfWeek - DayOfWeek.Sunday;
        
if (i != 0) i = 7 - i;// 因为枚举原因,Sunday排在最前,相减间隔要被7减。这是算到周日的方法。
        TimeSpan ts = new TimeSpan(i, 000);
        
return someDate.Add(ts);
    }

    
// 用xpath操作web.comfig
     public   static   string  xmlGetValue( string  Key)
    
{
        
string strFP = HttpContext.Current.Server.MapPath("web.config");
        
string strXPath = "/configuration/appSettings/add[@key='?']";

        XmlDocument XMLWebConfig 
= new XmlDocument();
        XMLWebConfig.Load(strFP);
        
string xmlValue = XMLWebConfig.SelectSingleNode((strXPath.Replace("?", Key))).Attributes["value"].InnerText;
        
return xmlValue;
    }

    
// 调用cmd
     public   static   string  myCmd( string  myCmd)
    
{
        Process p 
= new Process();
        p.StartInfo.FileName 
= "cmd.exe";
        p.StartInfo.UseShellExecute 
= false;
        p.StartInfo.RedirectStandardInput 
= true;
        p.StartInfo.RedirectStandardOutput 
= true;
        p.StartInfo.RedirectStandardError 
= true;
        p.StartInfo.CreateNoWindow 
= true;

        p.Start();
        p.StandardInput.WriteLine(myCmd);
        p.StandardInput.WriteLine(
"exit");

        
string myResult = p.StandardOutput.ReadToEnd();
        p.Close();
        
return myResult;
    }

    
// MD5加密 key为8个字母或4个汉字
     public   static   string  MD5Encrypt( string  pToEncrypt,  string  sKey)
    
{
        DESCryptoServiceProvider des 
= new DESCryptoServiceProvider();
        
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
        des.Key 
= ASCIIEncoding.ASCII.GetBytes(sKey);
        des.IV 
= ASCIIEncoding.ASCII.GetBytes(sKey);
        MemoryStream ms 
= new MemoryStream();
        CryptoStream cs 
= new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
        cs.Write(inputByteArray, 
0, inputByteArray.Length);
        cs.FlushFinalBlock();
        StringBuilder ret 
= new StringBuilder();
        
foreach (byte b in ms.ToArray())
        
{
            ret.AppendFormat(
"{0:X2}", b);
        }

        ret.ToString();
        
return ret.ToString();
    }

    
// MD5解密
     public   static   string  MD5Decrypt( string  pToDecrypt,  string  sKey)
    
{
        DESCryptoServiceProvider des 
= new DESCryptoServiceProvider();
        
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
        
for (int x = 0; x < pToDecrypt.Length / 2; x++)
        
{
            
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 22), 16));
            inputByteArray[x] 
= (byte)i;
        }

        des.Key 
= ASCIIEncoding.ASCII.GetBytes(sKey);
        des.IV 
= ASCIIEncoding.ASCII.GetBytes(sKey);
        MemoryStream ms 
= new MemoryStream();
        CryptoStream cs 
= new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
        cs.Write(inputByteArray, 
0, inputByteArray.Length);
        cs.FlushFinalBlock();
        StringBuilder ret 
= new StringBuilder();
        
return System.Text.Encoding.Default.GetString(ms.ToArray());
    }

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值