Asp.net源码专业站
首页->新知实践->字符串操作大全(SHAI、MD5加解密等)>>StringOperation.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:字符串操作大全(SHAI、MD5加解密等)
当前文件:文件类型 N21DTONEBKFW21/StringOperation.cs[7K,2009-6-12 11:48:38]打开代码结构图
普通视图
		            
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 /// methods 1 286 /// </summary> 287 /// <param name="str">string</param> 288 /// <returns>decrypted string</returns> 289 public static string DeTransform3(string str) 290 { 291 int i=0; 292 StringBuilder sb = new StringBuilder(); 293 294 foreach(char a in str) 295 { 296 switch(i % 6) 297 { 298 case 0: 299 sb.Append((char)(a-3)); 300 break; 301 case 1: 302 sb.Append((char)(a-6)); 303 break; 304 case 2: 305 sb.Append((char)(a-8)); 306 break; 307 case 3: 308 sb.Append((char)(a-7)); 309 break; 310 case 4: 311 sb.Append((char)(a-5)); 312 break; 313 case 5: 314 sb.Append((char)(a-2)); 315 break; 316 } 317 i++; 318 } 319 320 return sb.ToString(); 321 } 322 323 /// <summary> 324 /// method1 325 /// </summary> 326 /// <param name="str">string</param> 327 /// <returns>encrypted string</returns> 328 public static string Transform3(string str) 329 { 330 int i=0; 331 StringBuilder sb = new StringBuilder(); 332 333 foreach(char a in str) 334 { 335 switch(i % 6) 336 { 337 case 0: 338 sb.Append((char)(a+3)); 339 break; 340 case 1: 341 sb.Append((char)(a+6)); 342 break; 343 case 2: 344 sb.Append((char)(a+8)); 345 break; 346 case 3: 347 sb.Append((char)(a+7)); 348 break; 349 case 4: 350 sb.Append((char)(a+5)); 351 break; 352 case 5: 353 sb.Append((char)(a+2)); 354 break; 355 } 356 i++; 357 } 358 359 return sb.ToString(); 360 } 361 362 /// <summary> 363 /// 将指定的字符反过来显示 364 /// </summary> 365 /// <param name="str">待反转的字符</param> 366 /// <returns>反转后的字符</returns> 367 public static string Reverse(string str) 368 { 369 int i; 370 StringBuilder sb = new StringBuilder(); 371 372 for(i=str.Length-1;i>=0;i--) 373 { 374 sb.Append(str[i]); 375 } 376 377 return sb.ToString(); 378 } 379 } 380} 381
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:字符串操作大全(SHAI、MD5加解密等)
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作:点击这里洽谈业务合作 合作热线:010-68880146