会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
CrazyLOG ' 网视如疯
流浪在异乡,陪伴我的,只有烟,代码,还有一些见证我青春的朋友
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
公告
用C#实现Des加密和解密
今年把密码挂了,真是很郁闷的一件事情
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();
}
}
}
posted on
2005-02-06 19:25
AoingLOG
阅读(
1592
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部