zoukankan      html  css  js  c++  java
  • C#实现Des加密和解密

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

    namespace Vavic 

    /// <summary> 
    /// Security 的摘要说明。 
    /// </summary> 
    public class Security 

    const string KEY_64 = "VavicApp"; 
    const string IV_64 = "VavicApp"; //注意了,是8个字符,64位 

    public Security() 

    // 
    // TODO: 在此处添加构造函数逻辑 
    // 


    public static string Encode(string data) 

    byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); 
    byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); 

    DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); 
    int i = cryptoProvider.KeySize; 
    MemoryStream ms = new MemoryStream(); 
    CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateEncryptor(byKey,byIV),CryptoStreamMode.Write); 

    StreamWriter sw = new StreamWriter(cst); 
    sw.Write(data); 
    sw.Flush(); 
    cst.FlushFinalBlock(); 
    sw.Flush(); 
    return Convert.ToBase64String(ms.GetBuffer(),0,(int)ms.Length); 



    public static string Decode(string data) 

    byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64); 
    byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64); 

    byte[] byEnc; 
    try 

    byEnc = Convert.FromBase64String(data); 

    catch 

    return null; 


    DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); 
    MemoryStream ms = new MemoryStream(byEnc); 
    CryptoStream cst = new CryptoStream(ms,cryptoProvider.CreateDecryptor(byKey,byIV),CryptoStreamMode.Read); 
    StreamReader sr = new StreamReader(cst); 
    return sr.ReadToEnd(); 



  • 相关阅读:
    Oracle
    Oracle11g服务详细介绍及哪些服务是必须开启的?
    数据结构——二叉树树的遍历理论与实现
    MapReduce新版客户端API源码分析
    【编程范式】汇编解释swap方法
    iPhone、iPod和iPad离线固件升级的方法
    Linux备份
    mysql下用户和密码生成管理
    The secret of ROWID
    linux文件权限解说
  • 原文地址:https://www.cnblogs.com/88223100/p/1155000.html
Copyright © 2011-2022 走看看