`
fastwind
  • 浏览: 323797 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

C# 字符串DES加/解密与MD5加密类

阅读更多

C#源码,用.Net封装的类库写的加密和解密的方法,很容易转换成VB.Net

using System;
using System.IO;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;

namespace MyDes
{
  /// <summary>
  /// DES加/解密与MD5加密
  /// </summary>
  public class My_Des
  {
  #region 私有属性

  /// <summary>
  /// MD5加密的字符串
  /// </summary>
  private string md5Str = null;
  /// <summary>
  /// DES加密的字符串
  /// </summary>
  private string encryptStr = null;

  /// <summary>
  /// DES解密的字符串
  /// </summary>
  private string decryptStr = null;

  /// <summary>
  /// DES密匙
  /// </summary>
  private string mydesKey = null;

  /// <summary>
  /// 返回的字符串
  /// </summary>
  private string mydesStr = null;

  /// <summary>
  /// 错误信息
  /// </summary>
  private string messAge = null;

  #endregion

  #region 公共属性

  /// <summary>
  /// MD5加密字符串
  /// </summary>
  public string MD5Str
  {
  get { return md5Str; }
  set { md5Str = value; }
  }
  /// <summary>
  /// DES加密的字符串
  /// </summary>
  public string EncryptStr
  {
  get { return encryptStr; }
  set { encryptStr = value; }
  }

  /// <summary>
  ///DES 解密的字符串
  /// </summary>
  public string DecryptStr
  {
  get { return decryptStr; }
  set { decryptStr = value; }
  }

  /// <summary>
  /// DES密匙
  /// </summary>
  public string MyDesKey
  {
  get { return mydesKey; }
  set { mydesKey = value; }
  }

  /// <summary>
  /// 返回的字符串
  /// </summary>
  public string MyDesStr
  {
  get { return mydesStr; }
  set { mydesStr = value; }
  }
  /// <summary>
  /// 错误信息
  /// </summary>
  public string Message
  {
  get { return messAge; }
  set { messAge = value; }
  }
  #endregion

  #region 公共方法
  /// <summary>
  /// 执行DES加密
  /// </summary>
  public void DesEncrypt()
  {
  try
  {
  byte[] MyStr_E = Encoding.UTF8.GetBytes(this.encryptStr);
  byte[] MyKey_E = Encoding.UTF8.GetBytes(this.mydesKey);

  DESCryptoServiceProvider MyDes_E = new DESCryptoServiceProvider();
  MyDes_E.Key = MyKey_E;
  MyDes_E.IV = MyKey_E;

  MemoryStream MyMem_E = new MemoryStream();

  CryptoStream MyCry_E = new CryptoStream(MyMem_E, MyDes_E.CreateEncryptor(), CryptoStreamMode.Write);
  MyCry_E.Write(MyStr_E, 0, MyStr_E.Length);
  MyCry_E.FlushFinalBlock();
  MyCry_E.Close();

  this.mydesStr = Convert.ToBase64String(MyMem_E.ToArray());
  }
  catch (Exception Error)
  {
  this.messAge = "DES加密出错:"+Error.Message;
  }
  }

  /// <summary>
  /// 执行DES解密
  /// </summary>
  public void DesDecrypt()
  {
  try
  {
  byte[] MyStr_D = Convert.FromBase64String(this.decryptStr);
  byte[] MyKey_D = Encoding.UTF8.GetBytes(this.mydesKey);

  DESCryptoServiceProvider MyDes_D = new DESCryptoServiceProvider();
  MyDes_D.Key = MyKey_D;
  MyDes_D.IV = MyKey_D;

  MemoryStream MyMem_D = new MemoryStream();

  CryptoStream MyCry_D = new CryptoStream(MyMem_D, MyDes_D.CreateDecryptor(), CryptoStreamMode.Write);  
  MyCry_D.Write(MyStr_D, 0, MyStr_D.Length);
  MyCry_D.FlushFinalBlock();
  MyCry_D.Close();

  this.mydesStr = Encoding.UTF8.GetString(MyMem_D.ToArray());
  }
  catch (Exception Error)
  {
  this.messAge ="DES解密出错:" +Error.Message;
  }
  }

  /// <summary>
  /// 执行MD5加密
  /// </summary>
  public void MD5JiaMi()
  {
  MD5CryptoServiceProvider MyMD5 = new MD5CryptoServiceProvider();
  try
  {
  Byte[] MyMD5_Str = MyMD5.ComputeHash(Encoding.UTF8.GetBytes(this.md5Str));
  this.MyDesStr = Encoding.UTF8.GetString(MyMD5_Str);
  }
  catch (Exception Error)
  {
  this.messAge ="MD5加密出错:"+ Error.Message;
  }

  }

  #endregion
  }
}

分享到:
评论

相关推荐

    C#加密解密DeEncryptHelper.zip

    DES加密/解密类。 加密 加密数据 解密 解密数据 得到随机安全码(哈希加密)。 得到随机哈希加密字符串 哈希加密一个字符串 RSA加密解密及RSA签名和验证 RSA 的密钥产生 产生私钥 和公钥 RSA 方式加密 RSA的解密...

    c#版字符串DES加密解密工具源码

    本篇将详细解析标题为“c#版字符串DES加密解密工具源码”的资源,以及相关知识点。 DES(Data Encryption Standard)是一种对称加密算法,它在1970年代由IBM开发并被美国国家标准局采用为标准。DES使用56位的密钥,...

    DES.zip_C#加密解密_DES字符串_Des 加密 解密_des_加密解密

    DES加密解密算法。通过密钥对对字符串进行加密解密操作,64位加密

    C# 用DES 加密和解密字符串

    本文将深入探讨如何使用C#进行DES加密和解密字符串,以及相关的重要知识点。 首先,DES是一种块加密算法,它以64位的数据块进行操作,其中实际有效密钥长度为56位。在C#中,可以使用`System.Security.Cryptography`...

    C#DES标准ECB加密解密示例源码

    C#DES标准ECB加密解密示例源码,根据标准的C改的源码,与网上所搜索到的完全不一样,可以支持中文为密钥的加密,也可以支持为中文字符串的加密,如,密钥为:替天行道,明文为:来自替天行道的C#DES标准ECB加密解密...

    C#加密解密,包括DES、MD5、SHA256

    根据给定文件的信息,我们可以总结出关于C#中几种常用加密技术的相关知识点,主要包括DES(Data Encryption Standard)、MD5(Message-Digest Algorithm 5)以及SHA256(Secure Hash Algorithm 256-bit)。...

    C#版 DES MD5加密解密测试工具

    本文将详细介绍"C#版 DES MD5加密解密测试工具"所涉及的关键技术:DES(Data Encryption Standard)加密、MD5(Message-Digest Algorithm 5)哈希算法,以及C#语言中的注册表读写操作。 首先,DES是一种古老的对称...

    C# AES加解密,DES加解密,MD5加密

    在C#中,可以使用MD5类的ComputeHash()方法计算数据的MD5值,通常将结果转换为16进制字符串表示。 在实际项目中,这些加密算法常常结合使用。例如,用户密码可能先通过MD5哈希,然后再用AES或DES加密存储,以提高...

    C# des对称加密字符串实例

    本实例将深入讲解如何在C#中使用DES对字符串进行加密和解密操作。 DES是一种块加密算法,它以64位为一组进行加密,但实际的有效密钥长度只有56位。DES在加密过程中通过一系列复杂的数学运算(如置换、异或等)来...

    C#des对文件进行加密解密

    5. **读写文件**:使用`StreamReader`或`StreamWriter`读取或写入加密/解密后的数据。 ```csharp StreamReader sr = new StreamReader(cs); string decryptedText = sr.ReadToEnd(); // 解密 StreamWriter sw = new...

    C#_加密解密类_DES_3DES_MD5

    ### C#中的加密解密类:DES、3DES与MD5 #### 一、概述 在C#中,实现数据加密解密的功能是确保信息安全的关键技术之一。本篇将详细介绍如何利用C#来实现DES(Data Encryption Standard)、3DES(Triple Data ...

    1C#使用DES算法加密字符串为定长字符串的方法及代码实现[整理].pdf

    ### C#中使用DES算法加密字符串为定长字符串的方法及代码实现 #### 知识点概述 本文档主要介绍了在C#编程语言中使用DES算法进行字符串加密的具体方法,并提供了完整的代码实现示例。文档中所提到的代码通过.NET...

    DES加密解密MD5加密

    2. 定义类DEncrypt,可能包含加密和解密的方法,如`EncryptStringToBytesDES`和`DecryptStringFromBytesDES`,分别用于DES加密和解密字符串。 3. 这些方法中会包含对DES算法的实例化,设置密钥和初始化向量(IV),...

    Delphi7与C#实现Des加解密互通Demo,全网找遍只次一份

    标题中的“Delphi7与C#实现Des加解密互通Demo”指的是一个示例项目,该项目旨在演示如何在Delphi 7和C#之间进行DES加密和解密操作,确保两个环境下的数据一致性。全网找遍只此一份,表明这个示例可能比较罕见且具有...

    C#实现DES加解密完整类源码

    本文将深入探讨C#语言中实现DES(Data Encryption Standard)加解密的完整类源码,以及如何在实际项目中运用这些源码进行数据的安全处理。 DES是一种对称加密算法,于1977年被美国国家标准局(NIST)采纳为标准,它...

    字符串、文件的DES加密和解密

    这篇内容将深入讲解如何在C#中实现字符串和文件的DES加密与解密。 DES,全称为数据加密标准,是一种基于64位块大小和56位密钥的分组密码算法。它通过多次迭代和置换操作对数据进行加密,提供了一定程度的安全保障。...

    c#MD5加密与解密

    在给定的部分代码中,展示了如何在C#中实现MD5加密和解密的功能,但实际上,这里混淆了MD5哈希算法与DES(Data Encryption Standard)对称加密算法的概念。MD5是一种不可逆的哈希函数,不支持解密操作;而DES是一种...

    C# DES3加密解密

    本篇文章将详细介绍如何使用 C# 实现 DES3(三重DES)加密解密功能,并结合 MD5 哈希算法来增强安全性。 #### 二、DES3 加密原理 三重DES(DES3)是一种基于 DES(Data Encryption Standard)的加密算法。DES 是一...

    字符串的加密解密操作实现

    - **哈希加密**:如MD5(Message-Digest Algorithm 5)、SHA(Secure Hash Algorithm)系列,将任意长度的字符串转化为固定长度的摘要,通常用于数据校验而非直接加密。 - **流加密**:如RC4、ChaCha20等,逐字节...

Global site tag (gtag.js) - Google Analytics