1.MD5 加密处理
代码
1
/*
*
2 * 日期:2009-3-15
3 * 作者:
4 * 功能:MD5加密及验证
5 * */
6 using System;
7 using System.Collections.Generic;
8 using System.Linq;
9 using System.Text;
10 using System.Security.Cryptography;
11 using System.IO;
12
13 namespace CommonData.Encrypt
14 {
15 public partial class EncryptMD5
16 {
17 /// <summary>
18 /// MD5 加密
19 /// </summary>
20 /// <param name="content"> 加密的内容 </param>
21 /// <returns></returns>
22 public static string MD5Encrypt( string content)
23 {
24 if ( string .IsNullOrEmpty(content) == false )
25 {
26 MD5 md5 = MD5.Create();
27 string result = "" ;
28 byte [] data = md5.ComputeHash(Encoding.Default.GetBytes(content));
29 for ( int i = 0 ; i < data.Length; i ++ )
30 {
31 result += data[i].ToString( " x2 " );
32 }
33 return result;
34 }
35 else
36 {
37 Console.WriteLine( " 您加密的内容为空! " );
38 return "" ;
39 }
40
41 }
42
43
44 /// <summary>
45 /// 加密验证
46 /// </summary>
47 /// <param name="content"> 输入需要验证的内容 </param>
48 /// <param name="data"> 加密比较的对象 </param>
49 /// <returns></returns>
50 public static bool GetContentCheck( string content, string data)
51 {
52 if ( ! string .IsNullOrEmpty(content) && ! string .IsNullOrEmpty(data))
53 {
54 string hashContent = MD5Encrypt(content);
55 if (hashContent.Equals(data))
56 {
57 return true ;
58 }
59 else
60 {
61 return false ;
62 }
63 }
64 else
65 {
66 Console.WriteLine( " 请提供有效的验证信息! " );
67 return false ;
68 }
69 }
70 }
71 }
72
2 * 日期:2009-3-15
3 * 作者:
4 * 功能:MD5加密及验证
5 * */
6 using System;
7 using System.Collections.Generic;
8 using System.Linq;
9 using System.Text;
10 using System.Security.Cryptography;
11 using System.IO;
12
13 namespace CommonData.Encrypt
14 {
15 public partial class EncryptMD5
16 {
17 /// <summary>
18 /// MD5 加密
19 /// </summary>
20 /// <param name="content"> 加密的内容 </param>
21 /// <returns></returns>
22 public static string MD5Encrypt( string content)
23 {
24 if ( string .IsNullOrEmpty(content) == false )
25 {
26 MD5 md5 = MD5.Create();
27 string result = "" ;
28 byte [] data = md5.ComputeHash(Encoding.Default.GetBytes(content));
29 for ( int i = 0 ; i < data.Length; i ++ )
30 {
31 result += data[i].ToString( " x2 " );
32 }
33 return result;
34 }
35 else
36 {
37 Console.WriteLine( " 您加密的内容为空! " );
38 return "" ;
39 }
40
41 }
42
43
44 /// <summary>
45 /// 加密验证
46 /// </summary>
47 /// <param name="content"> 输入需要验证的内容 </param>
48 /// <param name="data"> 加密比较的对象 </param>
49 /// <returns></returns>
50 public static bool GetContentCheck( string content, string data)
51 {
52 if ( ! string .IsNullOrEmpty(content) && ! string .IsNullOrEmpty(data))
53 {
54 string hashContent = MD5Encrypt(content);
55 if (hashContent.Equals(data))
56 {
57 return true ;
58 }
59 else
60 {
61 return false ;
62 }
63 }
64 else
65 {
66 Console.WriteLine( " 请提供有效的验证信息! " );
67 return false ;
68 }
69 }
70 }
71 }
72
这个类提供了两个方法。上面的那个是加密,下面的验证。因为MD5加密时不可逆的过程,因此在验证的时候需要先加密在比较
如果需要了解更多md5加密可以到msdn 上去看看,介绍的比较详细
2.XOR 加密
代码
1
/*
*
2 * 日期:2009-3-15
3 * 作者:
4 * 功能:XOR加密
5 * */
6 using System;
7 using System.Collections.Generic;
8 using System.Linq;
9 using System.Text;
10 using System.Security.Cryptography;
11
12 namespace CommonData.Encrypt
13 {
14 public partial class EncryptXOR
15 {
16 /// <summary>
17 /// XOR加密
18 /// </summary>
19 /// <param name="content"> 加密的文本 </param>
20 /// <param name="password"> 加密文本密匙 </param>
21 /// <returns></returns>
22 public static string EncryptString( string content, string password)
23 {
24 byte [] bcontent = ( new UnicodeEncoding()).GetBytes(content);
25 byte [] bpassword = ( new UnicodeEncoding()).GetBytes(password);
26
27 for ( int i = 0 ; i < bcontent.Length; i += 2 )
28 {
29 for ( int j = 0 ; j < bpassword.Length; j += 2 )
30 {
31 bcontent[i] = Convert.ToByte(bcontent[i] ^ bpassword[j]);
32 }
33 }
34 return ( new UnicodeEncoding()).GetString(bcontent).TrimEnd( ' \0 ' );
35 }
36
37
38 /// <summary>
39 /// XOR 解密
40 /// </summary>
41 /// <param name="content"> 解密的文本 </param>
42 /// <param name="key"> 解密文本密匙 </param>
43 /// <returns></returns>
44 public static string DecryptString( string content, string key)
45 {
46 return EncryptString(content, key);
47 }
48 }
49 }
50
2 * 日期:2009-3-15
3 * 作者:
4 * 功能:XOR加密
5 * */
6 using System;
7 using System.Collections.Generic;
8 using System.Linq;
9 using System.Text;
10 using System.Security.Cryptography;
11
12 namespace CommonData.Encrypt
13 {
14 public partial class EncryptXOR
15 {
16 /// <summary>
17 /// XOR加密
18 /// </summary>
19 /// <param name="content"> 加密的文本 </param>
20 /// <param name="password"> 加密文本密匙 </param>
21 /// <returns></returns>
22 public static string EncryptString( string content, string password)
23 {
24 byte [] bcontent = ( new UnicodeEncoding()).GetBytes(content);
25 byte [] bpassword = ( new UnicodeEncoding()).GetBytes(password);
26
27 for ( int i = 0 ; i < bcontent.Length; i += 2 )
28 {
29 for ( int j = 0 ; j < bpassword.Length; j += 2 )
30 {
31 bcontent[i] = Convert.ToByte(bcontent[i] ^ bpassword[j]);
32 }
33 }
34 return ( new UnicodeEncoding()).GetString(bcontent).TrimEnd( ' \0 ' );
35 }
36
37
38 /// <summary>
39 /// XOR 解密
40 /// </summary>
41 /// <param name="content"> 解密的文本 </param>
42 /// <param name="key"> 解密文本密匙 </param>
43 /// <returns></returns>
44 public static string DecryptString( string content, string key)
45 {
46 return EncryptString(content, key);
47 }
48 }
49 }
50
这个加密算法是可逆的,不过在解密的时候需要密钥处理.这个加密不难,算法也比较简单