|            
                         //声明加密字符生成的随机数的位数  public const int LENGTH = 32;  //声明加密字符前后的分隔长度  public const int LEN = 4; 
  ///方法作用:根据参数对其加密  ///参数:  /// string strEncrypt;欲加密的字符  ///返回结果:加密后的字符  public static byte[] SourceEncrypt(string strEncrypt)  {  string source = Encrypt(strEncrypt);  //first  string first = Encrypt(source.Substring(0,LEN));  //second  string second = Encrypt(source.Substring(LEN-1,source.Length-LEN));  //third  string third = Encrypt(source.Substring(source.Length-LEN,LEN));  //four  byte[] Random = new byte[LENGTH];  RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();  rng.GetNonZeroBytes(Random);  string four = Encrypt(System.Text.Encoding.ASCII.GetString(Random));  string all = first+second+third+four;  return System.Text.Encoding.ASCII.GetBytes(all);  } // end SourceEncrypt 
 
  ///方法作用:对参数进行加密  ///参数:  /// string strEncrypt:欲加密的字符  /// 返回结果:加密后的字符  public static string Encrypt(string strEncrypt)  {  SHA256Managed sha = new SHA256Managed();  byte[] VALUE = sha.ComputeHash(System.Text.Encoding.ASCII.GetBytes(strEncrypt));  return System.Text.Encoding.ASCII.GetString(VALUE);  } // end Encrypt 
  ///方法作用:对参数进行比较  ///参数:  /// string strSource:原字符  /// string strObject:目标字符  /// 返回结果:bool是否相等  public static bool CompareEncrypt(byte[] strSource,string strobject)  {  bool result = true;  byte[] strObject = SourceEncrypt(strobject);  //strObject = SourceEncrypt(strObject);  if((strSource==null)   (strObject==null)   (strSource.Length != strObject.Length))  result = false;  else  {  //strSource = strSource.Substring(0,strSource.Length-LENGTH);  //strObject = strObject.Substring(0,strObject.Length-LENGTH);  //byte[] Source = System.Text.Encoding.ASCII.GetBytes(strSource);  //byte[] Obj = System.Text.Encoding.ASCII.GetBytes(strObject);  byte[] Source = strSource;  byte[] Obj = strObject;  if(Source.Length != Obj.Length)  result = false;  else  {  for(int i = 0; i < Source.Length-LENGTH; i++)  {  if(Source[i] != Obj[i])  {  result = false;  break;  }  }  }  } 
  return result;  } //end CompareyEncrypt 
 
   
 |