网站主页   操作系统    网络工程    服务器    网页制作    数据库    程序开发    网络安全    办公软件   
讲座日期: 本周六下午1点30分 抢座
讲座地点: 北大青鸟马甸校区
主讲老师: 王老师 金牌讲师
讲座主题: 网络安全
讲座内容: 检测、防御、黑客信息,如何过滤不安全的网站,如何防御黑客的进攻。
订座电话: 010-82011432/33
  您当前位置:主页 > 网络学院 > 程序开发 > C++/C教程 >

C# DES加密码解密类




使用方式

 
            string Value = "我们都是一起的一起的 一起的";
        
            string _Des = Zgke.Test.DES.DESEncoder(Value, Encoding.Default, null, null);
            string _AAA = Zgke.Test.DES.DESDecoder(_Des, Encoding.Default, null, null);

            MessageBox.Show(_Des, _AAA);

下面是全部的类


view plaincopy to clipboardprint?
using System;   
using System.Text;   
using System.Security.Cryptography;   
  
  
namespace Zgke.Test   
{   
       
    /// <summary>   
    /// DES加密 解密   
    /// zgke@sina.com   
    /// qq:116149   
    /// </summary>   
    public class DES   
    {   
        /// <summary>   
        /// 对字节进行DES加密   
        /// </summary>   
        /// <param name="p_Value">字节数组</param>   
        /// <param name="p_Key">钥匙 可以使用 System.Text.Encoding.AscII.GetBytes("ABVD") 注意必须是8位 </param>   
        /// <param name="p_IV">向量 如果为NULL 向量和钥匙是一个</param>   
        /// <returns>加密后的BYTE</returns>   
        public static byte[] DESEncoder(byte[] p_Value, byte[] p_Key, byte[] p_IV)   
        {   
            byte[] _RgbKey = p_Key;   
            byte[] _RgbIV = p_IV;   
  
            if (_RgbKey == null || _RgbKey.Length!= 8) _RgbKey = new byte[] { 0x7A, 0x67, 0x6B, 0x65, 0x40, 0x73, 0x69, 0x6E };   
            if (_RgbIV == null) _RgbIV = _RgbKey;   
  
            DESCryptoServiceProvider _Desc = new DESCryptoServiceProvider();   
            ICryptoTransform _ICrypto = _Desc.CreateEncryptor(_RgbKey, _RgbIV);   
  
            return _ICrypto.TransformFinalBlock(p_Value, 0, p_Value.Length);   
        }   
        /// <summary>   
        /// 对字节进行DES解密   
        /// </summary>   
        /// <param name="p_Value">字节数组</param>   
        /// <param name="p_Key">钥匙 可以使用 System.Text.Encoding.AscII.GetBytes("ABVD") 注意必须是8位 </param>   
        /// <param name="p_IV">向量 如果为NULL 向量和钥匙是一个</param>   
        /// <returns>解密后的BYTE</returns>   
        public static byte[] DESDecoder(byte[] p_Value, byte[] p_Key, byte[] p_IV)   
        {   
            byte[] _RgbKey = p_Key;   
            byte[] _RgbIV = p_IV;   
  
            if (_RgbKey == null || _RgbKey.Length != 8) _RgbKey = new byte[] { 0x7A, 0x67, 0x6B, 0x65, 0x40, 0x73, 0x69, 0x6E };   
            if (_RgbIV == null) _RgbIV = _RgbKey;   
  
            DESCryptoServiceProvider _Desc = new DESCryptoServiceProvider();   
            ICryptoTransform _ICrypto = _Desc.CreateDecryptor(_RgbKey, _RgbIV);   
  
            return _ICrypto.TransformFinalBlock(p_Value, 0, p_Value.Length);   
        }   
          
        /// <summary>   
        /// DES加密   
        /// </summary>   
        /// <param name="enStr">原始数据</param>   
        /// <param name="p_TextEncoding">数据编码</param>   
        /// <param name="p_Key">钥匙 可以使用 System.Text.Encoding.AscII.GetBytes("ABVD") 注意必须是8位 </param>   
        /// <param name="p_IV">向量 如果为NULL 向量和钥匙是一个</param>   
        /// <returns>加密后的字符穿 00-00-00</returns>   
        public static string DESEncoder(string p_TextValue, System.Tex

上一篇:C# 实现调用 SAP Com组件  
下一篇:怎样用C语言编写一个DOS下的中断服务程序
相关信息:

·Select()系统调用及文件描述符集fd_set的应用 ·虚拟文件系统
·Oracle应用Linux开发C ·Linux 核心
·计算机病毒的分类 ·Unix(Linux)C编程问题精粹
·指针与函数的关系 ·内核模块的编译文件
·如何检测Sniffer ·解析C语言中的sizeof

Copyright © 2002-2015 版权所有
学校地址:北京市海淀区西三旗建材城中路29号北大青鸟
招生热线:010-82011433/32 京公网安备110102004704  京ICP备05043413号 京公网安备110102004704