您目前尚未登陆,请选择【登陆】或【注册
首页->功能源码->字符串操作大全(SHAI、MD5加解密等)>>StringOperation.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:字符串操作大全(SHAI、MD5加解密等)
当前文件:文件类型 N21DTONEBKFW21/StringOperation.cs打开代码结构图
普通视图
		            
1using System; 2using System.Text; 3using System.Security; 4using System.Web.Security; 5 6namespace StringOperation 7{ 8 /// <summary> 9 /// StringOperation 的摘要说明。 10 /// </summary> 11 public class StringOperation 12 { 13 public StringOperation() 14 { 15 // 16 // TODO: 在此处添加构造函数逻辑 17 // 18 } 19 /// <summary> 20 /// 转换特殊字符 21 /// </summary> 22 /// <param name="str">待转换的字符</param> 23 /// <returns></returns> 24 public static string Encode(string str) 25 { 26 str = str.Replace("&","&amp;"); 27 str = str.Replace("'","''"); 28 str = str.Replace("\"","&quot;"); 29 str = str.Replace(" ","&nbsp;"); 30 str = str.Replace("<","&lt;"); 31 str = str.Replace(">","&gt;"); 32 str = str.Replace("\n","<br>"); 33 return str; 34 } 35 36 /// <summary> 37 /// decode 38 /// </summary> 39 /// <param name="str">string</param> 40 /// <returns></returns> 41 public static string Decode(string str) 42 { 43 str = str.Replace("<br>","\n"); 44 str = str.Replace("&gt;",">"); 45 str = str.Replace("&lt;","<"); 46 str = str.Replace("&nbsp;"," "); 47 str = str.Replace("&quot;","\""); 48 return str; 49 } 50 51 /// <summary> 52 /// encrypting string 53 /// </summary> 54 /// <returns></returns> 55 public static string Encrypt(string Password) 56 { 57 string str = ""; 58 FormsAuthenticationTicket ticket = new System.Web.Security.FormsAuthenticationTicket(Password,true,2); 59 str = FormsAuthentication.Encrypt(ticket).ToString(); 60 return str; 61 } 62 63 /// <summary> 64 /// encrypting string 65 /// </summary> 66 /// <param name="Password">encrypting string</param> 67 /// <param name="Format">format,0 is SHA1,1 is MD5</param> 68 /// <returns></returns> 69 public static string Encrypt(string Password,int Format) 70 { 71 string str = ""; 72 switch(Format) 73 { 74 case 0: 75 str = FormsAuthentication.HashPasswordForStoringInConfigFile(Password,"SHA1"); 76 break; 77 case 1: 78 str = FormsAuthentication.HashPasswordForStoringInConfigFile(Password,"MD5"); 79 break; 80 } 81 return str; 82 } 83 84 /// <summary> 85 /// decrypt string 86 /// </summary> 87 /// <param name="Passowrd">encrypted string</param> 88 /// <returns></returns> 89 public static string Decrypt(string Passowrd) 90 { 91 string str=""; 92 str= FormsAuthentication.Decrypt(Passowrd).Name.ToString(); 93 return str; 94 } 95 96 /// <summary> 97 /// Encrypt Cookie 98 /// </summary> 99 /// <param name="str">Target cookie string</param> 100 /// <returns></returns> 101 public static string EncryptCookie(string strCookie,int type) 102 { 103 string str=En(strCookie,type); 104 StringBuilder sb = new StringBuilder(); 105 foreach(char a in str) 106 { 107 sb.Append(Convert.ToString(a,16).PadLeft(4,'0')); 108 } 109 return sb.ToString(); 110 } 111 112 /// <summary> 113 /// Decrypt Cookie 114 /// </summary> 115 /// <param name="str">Target cookie string</param> 116 /// <returns></returns> 117 public static string DecryptCookie(string strCookie,int type) 118 { 119 StringBuilder sb = new StringBuilder(); 120 string [] strarr = new String[255]; 121 int i,j,count=strCookie.Length/4; 122 string strTmp; 123 124 for(i=0;i<count;i++) 125 { 126 for(j=0;j<4;j++) 127 { 128 sb.Append(strCookie.Substring(i*4+j,1)); 129 } 130 strarr[i] = sb.ToString(); 131 sb.Remove(0,sb.Length); 132 } 133 134 for(i=0;i<count;i++) 135 { 136 strTmp = uint.Parse(strarr[i],System.Globalization.NumberStyles.AllowHexSpecifier).ToString("D"); 137 char ch = (char)uint.Parse(strTmp); 138 sb.Append(ch); 139 } 140 141 return De(sb.ToString(),type); 142 } 143 144 145 private static string En(string strCookie,int type) 146 { 147 string str; 148 if(type % 2==0) 149 { 150 str = Transform1(strCookie); 151 } 152 else 153 { 154 str = Transform3(strCookie); 155 } 156 157 str = Transform2(strCookie); 158 return str; 159 } 160 161 private static string De(string strCookie,int type) 162 { 163 string str; 164 if(type % 2==0) 165 { 166 str = DeTransform1(strCookie); 167 } 168 else 169 { 170 str = DeTransform3(strCookie); 171 } 172 173 str = Transform2(strCookie); 174 return str; 175 } 176 177 178 /// <summary> 179 /// methods 1 180 /// </summary> 181 /// <param name="str">string</param> 182 /// <returns>decrypted string</returns> 183 public static string DeTransform1(string str) 184 { 185 int i=0; 186 StringBuilder sb = new StringBuilder(); 187 188 foreach(char a in str) 189 { 190 switch(i % 6) 191 { 192 case 0: 193 sb.Append((char)(a-1)); 194 break; 195 case 1: 196 sb.Append((char)(a-5)); 197 break; 198 case 2: 199 sb.Append((char)(a-7)); 200 break; 201 case 3: 202 sb.Append((char)(a-2)); 203 break; 204 case 4: 205 sb.Append((char)(a-4)); 206 break; 207 case 5: 208 sb.Append((char)(a-9)); 209 break; 210 } 211 i++; 212 } 213 214 return sb.ToString(); 215 } 216 217 /// <summary> 218 /// method1 219 /// </summary> 220 /// <param name="str">string</param> 221 /// <returns>encrypted string</returns> 222 public static string Transform1(string str) 223 { 224 int i=0; 225 StringBuilder sb = new StringBuilder(); 226 227 foreach(char a in str) 228 { 229 switch(i % 6) 230 { 231 case 0: 232 sb.Append((char)(a+1)); 233 break; 234 case 1: 235 sb.Append((char)(a+5)); 236 break; 237 case 2: 238 sb.Append((char)(a+7)); 239 break; 240 case 3: 241 sb.Append((char)(a+2)); 242 break; 243 case 4: 244 sb.Append((char)(a+4)); 245 break; 246 case 5: 247 sb.Append((char)(a+9)); 248 break; 249 } 250 i++; 251 } 252 253 return sb.ToString(); 254 } 255 256 /// <summary> 257 /// method1 258 /// </summary> 259 /// <param name="str">string</param> 260 /// <returns>encrypted string</returns> 261 public static string Transform2(string str) 262 { 263 uint j=0; 264 StringBuilder sb = new StringBuilder(); 265 266 str=Reverse(str); 267 foreach(char a in str) 268 { 269 j=a; 270 if(j>255) 271 { 272 j=(uint)((a>>8) + ((a&0x0ff)<<8)); 273 } 274 else 275 { 276 j=(uint)((a>>4) + ((a&0x0f)<<4)); 277 } 278 sb.Append((char)j); 279 } 280 281 return sb.ToString(); 282 } 283 284 /// <summary> 285 ///<