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

推荐订阅源

aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
L
LangChain Blog
Jina AI
Jina AI
博客园 - 叶小钗
B
Blog RSS Feed
Recent Announcements
Recent Announcements
H
Help Net Security
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
B
Blog
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客

博客园 - flyluo

利用sqlmap进行POST注入 [转]C#创建文件的实战应用示例解析 VC下的scoket编程 【转】利用Hough变换实现直线检测的代码 [转]RGB转换为灰度图的vc代码 ASP.NET 2.0,C#----利用GridView控件导出其他文件(导出Excel,导出Word文件) gridview添加,删除,编辑DropDownList 根据值对应相应的选择项 - flyluo - 博客园 如何避免安装SQL2005的COM+错误 实现多语言网站(Asp.Net 2.0) 印度的九九乘法--超强 net客户段验证 net客户段验证 为GridView删除添加提示 再次装反IIS和.NET FRAMWORK2.0的顺序 一个简单的发布工具 汉字转拼音 金额小写转大写 【转贴】C#中有关string和byte[]转换的问题 .NET开发人员十大必备下载工具
c#加密解密
flyluo · 2007-10-24 · via 博客园 - flyluo

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

namespace CryptoUtil
{
/// <summary>
/// CryptoUtil 的摘要说明。
/// </summary>
public class CryptoUtil
{

//随机选8个字节既为密钥也为初始向量
Byte[] byKey64={42, 16, 93, 156, 78, 4, 218, 32};
Byte[] Iv64={55, 103, 246, 79, 36, 99, 167, 3};
Byte[] byKey192={42, 16, 93, 156, 78, 4, 218, 32,15, 167, 44, 80, 26, 250, 155, 112,2, 94, 11, 204, 119, 35, 184, 197};
Byte[] Iv192={55, 103, 246, 79, 36, 99, 167, 3,42, 5, 62, 83, 184, 7, 209, 13, 145, 23, 200, 58, 173, 10, 121, 222};

public CryptoUtil()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

/// <summary>
/// 标准的DES加密
/// </summary>
/// <param name="str_Sql">标准的DES加密</param>
private String Encrypt(String strText)
{
//Byte[] byKey = {};
//Byte[] IV = {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF};
try
{
//byKey = System.Text.Encoding.UTF8.GetBytes(strEncrKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
Byte[] inputByteArray = Encoding.UTF8.GetBytes(strText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey64, Iv64), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch(Exception ex)
{
return ex.Message;
}
}
/// <summary>
/// 标准的DES解密
/// </summary>
/// <param name="str_Sql">标准的DES解密</param>
private String Decrypt(String strText)
{
//Byte[] byKey = {};
//Byte[] IV = {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF};
Byte[] inputByteArray = new byte[strText.Length];
try
{
//byKey = System.Text.Encoding.UTF8.GetBytes(sDecrKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
inputByteArray = Convert.FromBase64String(strText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey64, Iv64), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
return encoding.GetString(ms.ToArray());
}
catch(Exception ex)
{
return ex.Message;
}
}


}
}