温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:字符串操作大全(SHAI、MD5加解密等)
当前文件:
N21DTONEBKFW21/StringOperation.cs[7K,2009-6-12 11:48:38],打开代码结构图
N21DTONEBKFW21/StringOperation.cs[7K,2009-6-12 11:48:38],打开代码结构图1using System; 2
using System.Text; 3
using System.Security; 4
using System.Web.Security; 5
6
namespace 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("&","&"); 27
str = str.Replace("'","''"); 28
str = str.Replace("\"","""); 29
str = str.Replace(" "," "); 30
str = str.Replace("<","<"); 31
str = str.Replace(">",">"); 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(">",">"); 45
str = str.Replace("<","<"); 46
str = str.Replace(" "," "); 47
str = str.Replace(""","\""); 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






}