惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
爱范儿
爱范儿
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
IT之家
IT之家
有赞技术团队
有赞技术团队
美团技术团队
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Engineering at Meta
Engineering at Meta
T
Tailwind CSS Blog
J
Java Code Geeks
Martin Fowler
Martin Fowler
I
InfoQ
小众软件
小众软件
MongoDB | Blog
MongoDB | Blog

博客园 - EricGu

Hibernate Annotation笔记 Groovy和Grails配置方法 Log4net的用法 在vs2008中设置jquery智能提示 开发人员最喜爱的十大免费的Visual Studio插件 优化JavaScript代码 Velocity快速指南 配置nhibernate时报 No persister for: NH.Model.Entities.Customer 异常 - EricGu 解决UpdatePanle中执行后台时间密码域丢失问题 网页制作技巧收集 Virtual PC 2007 SP1虚拟机上安装Ubuntu 9.04桌面版 JavaScript && CSS / CSS中的点滴 oracle10g中的5个服务的作用 ORACLE服务的作用 关于TreeView控件发布后无法显示展开图标的问题 怎样设计网页安全字体 Div+CSS网页制作误区 未来五年程序员应当具备的十项技能 标准W3C盒子模型
DES加密解密函数 - EricGu - 博客园
EricGu · 2010-11-05 · via 博客园 - EricGu

//默认密钥向量
private static byte[] Keys = { 0x120x340x560x780x900xAB0xCD0xEF };
/// <summary>
/// DES加密字符串
/// </summary>
/// <param name="encryptString">待加密的字符串</param>
/// <param name="encryptKey">加密密钥,要求为8位</param>
/// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
public static string EncryptDES(string encryptString, string encryptKey)
{
    
try
    {
        
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(08));
        
byte[] rgbIV = Keys;
        
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
        DESCryptoServiceProvider dCSP 
= new DESCryptoServiceProvider();
        MemoryStream mStream 
= new MemoryStream();
        CryptoStream cStream 
= new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
        cStream.Write(inputByteArray, 
0, inputByteArray.Length);
        cStream.FlushFinalBlock();
        
return Convert.ToBase64String(mStream.ToArray());
    }
    
catch
    {
        
return encryptString;
    }
}
/// <summary>
/// DES解密字符串
/// </summary>
/// <param name="decryptString">待解密的字符串</param>
/// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同</param>
/// <returns>解密成功返回解密后的字符串,失败返源串</returns>
public static string DecryptDES(string decryptString, string decryptKey)
{
    
try
    {
        
byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
        
byte[] rgbIV = Keys;
        
byte[] inputByteArray = Convert.FromBase64String(decryptString);
        DESCryptoServiceProvider DCSP 
= new DESCryptoServiceProvider();
        MemoryStream mStream 
= new MemoryStream();
        CryptoStream cStream 
= new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
        cStream.Write(inputByteArray, 
0, inputByteArray.Length);
        cStream.FlushFinalBlock();
        
return Encoding.UTF8.GetString(mStream.ToArray());
    }
    
catch
    {
        
return decryptString;
    }
}