DES-ECB加密与解密

//DES-ECB加密与解密     public string Encrypt(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);         des.Mode = CipherMode.ECB;         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();     }

    public string Decrypt(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 * 2, 2), 16));             inputByteArray[x] = (byte)i;         }         des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);         des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);         des.Mode = CipherMode.ECB;         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());

    }

你可能感兴趣的:(web,service)