zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    哥哥牟:诺拉的死亡是由于寻找食物的粪便!
    Eclipse建筑物SSH(struts-2.2.3 + spring-2.5.6 + hibernate-3.6.8)相框-随着源代码
    Centos6.5下一个Ceph存储集群结构
    linux input如何固定设备event handler
    sizeof运营商
    【小言的设计模式】类之间的关系
    2015第11周五
    2015第11周四~代发公司招聘信息
    2015第11周三
    2015第11周二
  • 原文地址:https://www.cnblogs.com/CCJVL/p/1367943.html
Copyright © 2011-2022 走看看