温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:字符串操作大全(SHAI、MD5加解密等)
当前文件:
N21DTONEBKFW21/StringOperation.cs,打开代码结构图
N21DTONEBKFW21/StringOperation.cs,打开代码结构图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
///<




