日期:2014-05-18  浏览次数:20880 次

求助 看下哪里错了
一个很简单的加密解密算法 


//加密  
private string Code(string source)
  {
  char[] password = source.ToCharArray();
   
  StringBuilder sb=new StringBuilder();

  for (int i = 0; i < password.Length; i++)
  {
  int a =(int) password[i]+1;
  char ch =(char) a;
  sb.Append(ch);

  }
  return sb.ToString();
  }

  //解密

  private string Decode(string source)
  {
  char[] password = source.ToCharArray();

  StringBuilder sb = new StringBuilder();

  for (int i = 0; i < password.Length; i++)
  {
  int a = (int)password[i] -1;
  char ch = (char)a;
  sb.Append(ch);
  }
  return sb.ToString();
  
  }

加密与解密后不一样 
看下哪错了

没分了。。

------解决方案--------------------
Decode(Code("中国人abcdef"))

得到

中国人abcdef

简单试了下,没看出什么。最好给出反例。
------解决方案--------------------
这样的加密确实很简单,估计别人破解,很快很快就解开了, 算法只是把ASSIC加一个,三次举例就发现规律的了。