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

        }

    }
  • 相关阅读:
    Android四大基本组件介绍与生命周期
    TRIZ系列-创新原理-23-反馈原理
    hibernate之6.one2many单向
    软件评測师真题考试分析-5
    WAS集群系列(3):集群搭建:步骤1:准备文件
    Android Developer:合并清单文件
    移动均值滤波与中值滤波
    使用React的static方法实现同构以及同构的常见问题
    mysql合并同一列的值
    iOS开发
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/3666396.html
Copyright © 2011-2022 走看看