zoukankan      html  css  js  c++  java
  • (转)C# DES

       本文原地址:http://blog.csdn.net/zhoufoxcn/article/details/1497095 作者:周公

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

    namespace Common
    {
        
    /// <summary>
        
    /// DESEncrypt加密解密算法。
        
    /// </summary>

        public sealed class DESEncrypt
        
    {
            
    private DESEncrypt()
            
    {
                
    //
                
    // TODO: 在此处添加构造函数逻辑
                
    //
            }


            
    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(08));
                
    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(08));
                
    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());
            }

        }

    }
  • 相关阅读:
    串口调试助手的源码分析,子对话框部分
    vc 使用了SerialPort类的串口通信软件分析
    Web前端研发工程师编程能力飞升之路
    vc mscomm串口通信使用了CButtonST按钮类软件分析
    vc 串口精灵软件分析
    c#串口完全接收程序
    Windows Server 2003操作系统中禁用Internet Explorer增强的安全特性
    Window下查看进程端口号
    面向对象的设计原则(2)——依赖注入
    面向对象的设计原则(1)
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/3666396.html
Copyright © 2011-2022 走看看