zoukankan      html  css  js  c++  java
  • 关于加密和解密的方法

    最近在做一个关于密码加密和解密的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:

  • 相关阅读:
    bobojquery筛选数组之grep、each、inArray、map的用法及遍历json对象 [转]
    bobojquery遍历json键值对
    python安装与初始
    Lambda表达式
    静态代理模式
    多线程
    java日期时间
    Git安装
    Node.js环境安装
    Maven的使用
  • 原文地址:https://www.cnblogs.com/AngryShoes/p/4921945.html
Copyright © 2011-2022 走看看