如何用C#实现DES加密解密

东方天下客

东方天下客

2016-02-19 12:22

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的如何用C#实现DES加密解密教程,一起来看看吧!超容易上手~

代码如下:

using System;
using System.Security.Cryptography;
using System.Text;
using System.IO;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

namespace Common
...{
    /**//// summary
    /// DESEncrypt加密解密算法。
    /// /summary
    public sealed class DESEncrypt
    ...{
        private DESEncrypt()
        ...{
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

        private static string key = "zhoufoxcn";

        /**//// summary
        /// 对称加密解密的密钥
        /// /summary
        public static string Key
        ...{
            get
            ...{
                return key;
            }
            set
            ...{
                key = value;
            }
        }

        /**//// summary
        /// DES加密
        /// /summary
        /// param name="encryptString"/param
        /// returns/returns
        public static string DesEncrypt(string encryptString)
        ...{
            byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));
            byte[] keyIV = keyBytes;
            byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
            DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
            MemoryStream mStream = new MemoryStream();
            CryptoStream cStream = new CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), CryptoStreamMode.Write);
            cStream.Write(inputByteArray, 0, inputByteArray.Length);
            cStream.FlushFinalBlock();
            return Convert.ToBase64String(mStream.ToArray());
        }

        /**//// summary
        /// DES解密
        /// /summary
        /// param name="decryptString"/param
        /// returns/returns
        public static string DesDecrypt(string decryptString)
        ...{
            byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));
            byte[] keyIV = keyBytes;
            byte[] inputByteArray = Convert.FromBase64String(decryptString);
            DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
            MemoryStream mStream = new MemoryStream();
            CryptoStream cStream = new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write);
            cStream.Write(inputByteArray, 0, inputByteArray.Length);
            cStream.FlushFinalBlock();
            return Encoding.UTF8.GetString(mStream.ToArray());
        }
    }
}

展开更多 50%)
分享

猜你喜欢

如何用C#实现DES加密解密

编程语言 网络编程
如何用C#实现DES加密解密

用C#实现Des加密和解密

电脑网络
用C#实现Des加密和解密

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

利用JAVA实现DES加密算法

编程语言 网络编程
利用JAVA实现DES加密算法

如何用Visual C#做组件

vb
如何用Visual C#做组件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

javascript实现的文字加密解密

Web开发
javascript实现的文字加密解密

如何用UltraEdit编译C#源程序

电脑网络
如何用UltraEdit编译C#源程序

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

C#动态添加控件

C#动态添加控件

C++程序设计之四书五经

C++程序设计之四书五经
下拉加载更多内容 ↓