• C# DES加密与解密算法实例


    引入System.Web.dll,用System.Web命名空间的
    pass = FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "MD5");

    Code

    先看下效果

    点加密
    加密出来了~
    然后点解密
    解密成功~就算你再次启动程序~也是一样可以的情况~
    代码如下~仔细看哦 ~~我不多说明了~
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    //添加
    using System.Globalization;
    using System.Security.Cryptography;

    namespace WindowsApplication1
    {
          public partial class Form1 : Form
          {
              public Form1()
              {
                  InitializeComponent();
              }
              public string key="??^&$%^&";//随便写~
              public string s2;
              //// 创建Key
              //public string GenerateKey()
              //{
              //      DESCryptoServiceProvider desCrypto = (DESCryptoServiceProvider)DESCryptoServiceProvider.Create();
              //      return ASCIIEncoding.ASCII.GetString(desCrypto.Key);
              //}
              // 加密字符串
              public string EncryptString(string sInputString, string sKey)
              {
                  byte[] data = Encoding.UTF8.GetBytes(sInputString);
                  DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
                  DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
                  DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
                  ICryptoTransform desencrypt = DES.CreateEncryptor();
                  byte[] result = desencrypt.TransformFinalBlock(data, 0, data.Length);
                  return BitConverter.ToString(result);
              }
              // 解密字符串
              public string DecryptString(string sInputString, string sKey)
              {
                  string[] sInput = sInputString.Split("-".ToCharArray());
                  byte[] data = new byte[sInput.Length];
                  for (int i = 0; i < sInput.Length; i++)
                  {
                      data[i] = byte.Parse(sInput[i], NumberStyles.HexNumber);
                  }
                  DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
                  DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
                  DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
                  ICryptoTransform desencrypt = DES.CreateDecryptor();
                  byte[] result = desencrypt.TransformFinalBlock(data, 0, data.Length);
                  return Encoding.UTF8.GetString(result);
              }
            
              private void Form1_Load(object sender, EventArgs e)
              {
              }
              private void button1_Click(object sender, EventArgs e)
              {//加密
                  textBox2.Text = EncryptString(textBox1.Text, key);
              }
              private void button2_Click(object sender, EventArgs e)
              {//解密
                  textBox2.Text = DecryptString(textBox1.Text, key);
              }
          }
    }
    以上在VS2005中运行成功~^_^~~
    Code
  • 相关阅读:
    SpringMVC
    spring-02
    spring-01
    适配器模式
    状态模式
    抽象工厂模式
    观察者模式(发布-订阅模式)
    建造者模式(生成器模式)
    外观模式
    迪米特法则
  • 原文地址:https://www.cnblogs.com/CCJVL/p/1367943.html
Copyright © 2020-2023  润新知