码迷,mamicode.com
首页 > 其他好文 > 详细

关于加密和解密的方法

时间:2015-10-29 23:21:30      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

最近在做一个关于密码加密和解密的winform,要求对密码的TextBox输入的字符串进行加密,同时传值得时候也要解析出来,于是就写了一个demo,仅供参考。

EncryptOrDecryptPassword类包含加密和解密两个简单的方法,这个方法是根据字符的Encoding来加密的,然后在main函数中调用。

 

EncryptOrDecryptPassword类如下:

技术分享
 1  public class EncryptOrDecryptPassword
 2     {
 3        public string DecryptPassword(string password)
 4        {
 5            try
 6            {
 7                UTF8Encoding encode = new UTF8Encoding();
 8                Decoder utf8Decode = encode.GetDecoder();
 9                byte[] decodeByte = Convert.FromBase64String(password);
10                int charCount = utf8Decode.GetCharCount(decodeByte, 0, decodeByte.Length);
11                char[] decodeChar = new char[charCount];
12                utf8Decode.GetChars(decodeByte, 0, decodeByte.Length, decodeChar, 0);
13                string result = new String(decodeChar);
14                return result;
15            }
16            catch (Exception ex)
17            {
18                throw new Exception("Error in decoding password:" + ex.Message);
19            }
20        }
21 
22        public string EncryptedPwd(string password)
23        {
24            try
25            {
26                byte[] en_Data = new byte[password.Length];
27                en_Data = Encoding.UTF8.GetBytes(password);
28                string encodedData = Convert.ToBase64String(en_Data);
29                return encodedData;
30            }
31            catch (Exception ex)
32            {
33                throw new Exception("Error in encode password: " + ex.Message);
34            }
35 
36        }
37     }
View Code

Program 类如下:

技术分享
 1  class Program
 2     {
 3         static string inPassword = string.Empty;
 4         static string outPassword = string.Empty;
 5         static void Main(string[] args)
 6         {
 7             Console.WriteLine("Please input your password:");
 8             inPassword = Console.ReadLine();
 9             EncryptOrDecryptPassword encrytOrDecryptPassword = new EncryptOrDecryptPassword();
10             string tempPWD = encrytOrDecryptPassword.EncryptedPwd(inPassword);
11             Console.WriteLine(tempPWD);
12             outPassword = encrytOrDecryptPassword.DecryptPassword(tempPWD);
13             Console.WriteLine(outPassword);
14             Console.ReadKey();
15         }
16     }
View Code

 

随便输入字符串Debug:
技术分享

 

关于加密和解密的方法

标签:

原文地址:http://www.cnblogs.com/AngryShoes/p/4921945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!