命名空间不能直接包含字段或方法之类的成员
今天,我需要做一个DES加密过程.中间出了个问题,就是我把方法直接放到了命名空间下面.之间没有在意这个问题,这次,我真的费了很大的经,终于找到错误.这个错误虽然在很多大侠们眼里根本不是错误.但是,这是我没有意识错误.下面是我的代码.自己一定要谨记.
1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Security.Cryptography; 5 using System.IO; 6 7 namespace DESJIAMI 8 { 9 public class EncryptDES { 10 /// <summary> 11 /// DES加密字符串 12 /// </summary> 13 /// <param name="encryptString">待加密的字符串</param> 14 /// <param name="encryptKey">加密密钥,要求为8位</param> 15 /// <returns>加密成功返回加密后的字符串,失败返回源串</returns> 16 public static string strEncryptDES(string encryptString, string encryptKey) 17 { 18 try 19 { 20 byte[] rgbKey= Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8)); 21 //rgbIV与rgbKey可以不一样,这里只是为了简便,读者可以自行修改 22 byte[] rgbIV = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8)); 23 byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString); 24 DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider(); 25 26 MemoryStream mStream = new MemoryStream(); 27 CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write); 28 cStream.Write(inputByteArray, 0, inputByteArray.Length); 29 cStream.FlushFinalBlock(); 30 return Convert.ToBase64String(mStream.ToArray()); 31 } 32 catch 33 { 34 return encryptString; 35 } 36 } 37 } 38 }