服务电话:0531-81180830 | 24小时服务:13176691830
公司新闻

echo 命令

方法一:简答的字符加减

        

    这个方法实际就是运用字符码的加减来乱序,生成一个看似无序的字符,上例子:


加密:

  1. <SPAN style="FONT-SIZE: 18px">//加密算法   
  2.         public string StrInCoded(string str)  
  3.         {  
  4.             string s = "";  
  5.             try  
  6.             {  
  7.                 for (int i = 0; i < str.Length; i++)  
  8.                 {  
  9.                     s += (char)(str[i] + 8);  
  10.                 }  
  11.                 s=  
  12.                 return s;  
  13.             }  
  14.             catch  
  15.             {  
  16.                 return str;  
  17.             }  
  18.         }  
  19. </SPAN>  



解密:

  1. <SPAN style="FONT-SIZE: 18px">//解密算法   
  2.         public string StrDeCoded(string str)  
  3.         {  
  4.             string s = "";  
  5.             try  
  6.             {  
  7.                 for (int i = 0; i < str.Length; i++)  
  8.                 {  
  9.                     s += (char)(str[i] - 8);  
  10.                 }  
  11.                 s=  
  12.                 return s;  
  13.             }  
  14.             catch  
  15.             {  
  16.                 return str;  
  17.             }  
  18.         }  
  19. </SPAN>  




方法二:生成纯数字的字符

        

       这个方法也很简单,我们可以利用c#封装好的进制转换来完成字符的标记和切分:


加密:

  1. <SPAN style="FONT-SIZE: 18px">//加密算法   
  2.         public string StrEnCoded(string value)  
  3.         {  
  4.             StringBuilder sb = new StringBuilder();  
  5.   
  6.             foreach (char c in value)  
  7.             {  
  8.                 int cAscil = (int)c;  
  9.                 sb.Append(Convert.ToString(c, 8) + "9");  
  10.             }  
  11.   
  12.             return sb.ToString();  
  13.         }</SPAN>  



说明:{Convert.ToString(c, 8) + "9"}这段代码是将C转换成8进制,再加上9这个不可能在8进制中出现的数字来分割字符

           八进制数字序列:0,1,2,3,4,5,6,7,10


     解密:


  1. <SPAN style="FONT-SIZE: 18px">//解密算法   
  2.         public string StrDeCoded(string value)  
  3.         {  
  4.             string[] splitInt = value.Split(new char[] { '9' }, StringSplitOptions.RemoveEmptyEntries);  
  5.   
  6.             var splitChars = splitInt.Select(s => Convert.ToChar(  
  7.                                               Convert.ToInt32(s, 8)  
  8.                                             ).ToString());  
  9.   
  10.             return string.Join("", splitChars);  
  11.         }</SPAN>  



说明:=>叫 lambda 运算。
          读作 “goes to” 
          就是把左边声明的变量带入到=>右边的表达式或者代码段里。


        这里我想说,重要的不是怎么实现这个过程,而是我们要想到使用!想到要加密,想到加密的好处!

上一篇:iOS安全objective-CHack实战——探究支付宝app手势密码 下一篇:read 命令