`

.NET加密与解密类

    博客分类:
  • .net
 
阅读更多

using System;
using System.Security.Cryptography; 
using System.Text;
namespace Common.DES
{
 /// <summary>
 /// DES加密/解密类。
 /// </summary>
 public class DESEncrypt
 {
  public DESEncrypt()
  {   
  }

  #region ========加密========
 
        /// <summary>
        /// 加密
        /// </summary>
        /// <param name="Text"></param>
        /// <returns></returns>
  public static string Encrypt(string Text)
  {
            return Encrypt(Text, "liyanling");
  }
  /// <summary>
  /// 加密数据
  /// </summary>
  /// <param name="Text"></param>
  /// <param name="sKey"></param>
  /// <returns></returns>
  public static string Encrypt(string Text,string sKey)
  {
   DESCryptoServiceProvider des = new DESCryptoServiceProvider();
   byte[] inputByteArray;
   inputByteArray=Encoding.Default.GetBytes(Text);
   des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
   des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
   System.IO.MemoryStream ms=new System.IO.MemoryStream();
   CryptoStream cs=new CryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write);
   cs.Write(inputByteArray,0,inputByteArray.Length);
   cs.FlushFinalBlock();
   StringBuilder ret=new StringBuilder();
   foreach( byte b in ms.ToArray())
   {
    ret.AppendFormat("{0:X2}",b);
   }
   return ret.ToString();
  }

  #endregion
  
  #region ========解密========
  
 
        /// <summary>
        /// 解密
        /// </summary>
        /// <param name="Text"></param>
        /// <returns></returns>
  public static string Decrypt(string Text)
  {
            return Decrypt(Text, "liyanling");
  }
  /// <summary>
  /// 解密数据
  /// </summary>
  /// <param name="Text"></param>
  /// <param name="sKey"></param>
  /// <returns></returns>
  public static string Decrypt(string Text,string sKey)
  {
   DESCryptoServiceProvider des = new DESCryptoServiceProvider();
   int len;
   len=Text.Length/2;
   byte[] inputByteArray = new byte[len];
   int x,i;
   for(x=0;x<len;x++)
   {
    i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);
    inputByteArray[x]=(byte)i;
   }
   des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
   des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
   System.IO.MemoryStream ms=new System.IO.MemoryStream();
   CryptoStream cs=new CryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write);
   cs.Write(inputByteArray,0,inputByteArray.Length);
   cs.FlushFinalBlock();
   return Encoding.Default.GetString(ms.ToArray());
  }
 
  #endregion


 }
}

 

分享到:
评论

相关推荐

    vb.net加密解密源代码

    这个名为"vb.net加密解密源代码"的项目,是利用Visual Studio 2008开发的一个小型应用程序,提供了对数据进行加解密的功能。下面我们将详细探讨相关的知识点。 1. **VB.NET基础**: VB.NET是微软公司开发的一种...

    .net加密与解密

    .net加密与解密,引用后直接调用

    C# .net MD5加密解密工具及加密解密类

    C# .net MD5加密解密工具及加密解密类。使用方便,可直接下载加密解密代码在项目中使用。

    国密SM4,layui前端 和.net core后台 加密解密 .net加密解密

    JavaScript的加密库通常需要与后端进行配合,确保加解密的密钥管理和算法一致性。 在.NET Core后端,C#语言提供了System.Security.Cryptography命名空间,其中包括了对SM4的支持。开发者可以通过创建SM4...

    浅谈.NET中加密和解密的实现方法分享

    在.NET框架中,System.Security.Cryptography命名空间提供了大量用于加密解密的类,包括用于管理密钥的类、用于验证数据完整性的类等等。开发者可以通过学习这些类的功能和用法来构建自己的安全解决方案。 .NET框架...

    .net加密解密算法demo

    这个" .net加密解密算法demo "提供了易于理解和使用的加密解密示例,特别适合初学者和开发者快速上手。源代码中包含了详尽的注释,使得自定义关键字成为可能,以满足不同场景下的安全需求。 首先,加密是将明文数据...

    .Net加密解密方法

    本文将深入探讨ASP.NET中自定义加密解密的方法,以及如何根据用户设定的密钥进行操作。 首先,我们要了解加密的基本原理。加密是将明文数据转化为无法理解的形式,即密文,而解密则是将密文恢复为原始的明文数据。...

    asp.net可以加密,解密的类

    ### ASP.NET中的加密与解密类 在ASP.NET开发中,数据的安全性是至关重要的,尤其是在处理用户敏感信息(如用户名、密码等)时。本文将详细介绍一个ASP.NET中的类`ForUserNameAndPassWord`,该类实现了对用户名和...

    .NET加密解密实现

    本文将深入探讨.NET加密解密的实现,包括基础概念、常用算法、加密库以及具体的编码示例。 首先,理解加密的基本原理至关重要。加密是将明文数据转化为看似随机的密文,以防止未经授权的访问。解密则是逆过程,将...

    asp.net 加密解密 三种方法 实例

    ASP.NET框架内建了对加密解密的支持,主要依赖于`System.Security.Cryptography`命名空间中的类。例如,`AES`(高级加密标准)是一种常用的对称加密算法,适用于大量数据的加密。以下是一个简单的AES加密解密示例:...

    C#(.net)的几种加密解密方式

    这是C#的几种加密和解密的方法,里面包含Base64的加密和解密,MD5的加密,SHA1的加密和解密,文件夹的加密和解密

    .net加密解密xml文件小实例

    实现XML加密解密时,需要注意以下几点: - **密钥管理**:确保安全地存储和传输加密密钥至关重要。可以使用证书、密钥容器或者使用网络服务来管理密钥。 - **安全性**:除了加密之外,还应考虑其他安全措施,如权限...

    C#.NET密码加密解密源码Demo

    2. **解密操作**:创建解密流,读取加密后的数据,然后通过解密流解密。 ```csharp byte[] encryptedData = Convert.FromBase64String("加密后的密码Base64字符串"); using (MemoryStream ms = new MemoryStream...

    .net加密解密工具

    webconfig加解密工具,可适用于用户密码加密,数据库连接字符串加密等等

    VB.NET实现AES加密解密

    VB.NET实现AES加密解密代码,可直接使用

    asp.net 加密解密工具!

    三、ASP.NET加密解密工具的使用 在ASP.NET中,可以使用System.Security.Cryptography命名空间中的类来实现加密和解密操作。例如,使用AES加密: ```csharp using System.IO; using System.Text; using System....

    asp.net RSA 私钥加密公钥解密 能解 php Java 实现RSA加密互通

    在ASP.NET中实现RSA加密,通常使用.NET Framework提供的System.Security.Cryptography命名空间中的RSACryptoServiceProvider类。首先,你需要生成一对RSA密钥,这可以通过RSACryptoServiceProvider的Create()方法...

    与上传的另一篇资源JS前端加密所对应的.NET版本的加密解密,可实现js加密,后台解密,后台加密,js端解密

    本资源是对另一篇资源js端加密,后台解密/JS端解密,后台加密的后台版本,已亲测可用,并且加密和解密都可正常执行,注意:本资源中包含AES加密解密,RSA加密解密,以及生成PEM格式的RSA公私秘钥,但是有点没做好的...

Global site tag (gtag.js) - Google Analytics