zoukankan
html css js c++ java
C# DES加密/解密字符串
using
System;
using
System.Text;
using
System.Security.Cryptography;
using
System.IO;
//
默认密钥向量
private
static
byte
[] Keys
=
{
0x12
,
0x34
,
0x56
,
0x78
,
0x90
,
0xAB
,
0xCD
,
0xEF
}
;
///
<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(
0
,
8
));
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;
}
}
查看全文
相关阅读:
对象参数dojo异步编程之dojo/promise/all模块(dojo/DeferredList替代者)
文件进程linux系统编程之文件与I/O(五):打开文件的内核结构file和重定向
代码配置spring scala
返回行javascript比较时间大小
项目邮件[置顶] 失业的程序员(十二):潜意识的智商
地址变形Uva 11401 Triangle Counting
节点拓扑应用拓扑排序来解决DAG(directed acylic graph)的单源最短路径问题
TortoiseGit使用入门
RGMII
ARM处理器系统初始化编程注意事项
原文地址:https://www.cnblogs.com/hyruur/p/2020494.html
最新文章
[求助]求将一个单元格中的数字以文本显示的最好方法(除了设置为文本格式)[复制链接]
python os模块中的文件操作
中国成网络攻击最大受害国之一 狼人:
微软与VMware谁更擅长灾难恢复? 狼人:
倪光南:中国将借云计算成IT强国 狼人:
思博伦CEO称LTE与云计算紧密相连 狼人:
2010中国计算机网络安全年会大会致辞 狼人:
如何应对下一代安全挑战 狼人:
黑客紧盯云计算 GSM再暴安全漏洞 狼人:
云计算面临的安全挑战 访北大计算机学院院长陈钟 狼人:
热门文章
防范混合攻击 把网络作为安全第一道防线 狼人:
揭开“云杀毒”的真面目 狼人:
推动国家信息化向高端发展 狼人:
AVComparatives 8月性能测试 金山毒霸获得Advanced+ 认证 狼人:
2010中国计算机网络安全年会开场演讲 狼人:
CSA主席:安全是云计算更进一步的困扰 狼人:
捷克杀毒软件开发商Avast获得1亿美元投资 狼人:
返回方法去掉时间后带的毫秒数
模块图像opencv学习之路【四】——opencv文件结构介绍
数据数据包JAVASE17网络编程
Copyright © 2011-2022 走看看