zoukankan
html css js c++ java
对称加密(DES)
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Security.Cryptography;
using
System.IO;
namespace
Component
{
public
class
Security
{
public
Security()
{
}
//
默认密钥向量
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;
}
}
}
}
查看全文
相关阅读:
SqlBulkCopy 的2篇不错的文章
xml、json反序列化得到相应的类
DataTable的使用操作持续更新
asp.net mvc 添加下拉列表
asp.net mvc 简单实现权限控制
ASP.NET 实现上传EXCEL,利用NOPI操作,转换得到DataTable
asp.net mvc code first 在本地数据库中生成数据库
第一个随笔
vb中字母排列组合输出函数
使用SQL语句查询某表中所有的主键、唯一索引以及这些主键、索引所包含的字段
原文地址:https://www.cnblogs.com/weixu/p/864342.html
最新文章
【PHP项目】产品新增的多图上传
Android网络编程之一个Android下菜单系统模块的实现(客户端—开桌功能(上部))
Android网络编程之一个Android下菜单系统模块的实现(服务器端—结算功能(下部))
Android网络编程之一个Android下菜单系统模块的实现(客户端—添单功能(中部))
Android网络编程之一个Android下菜单系统模块的实现(服务器端—结算功能(中部))
Android网络编程之一个Android下菜单系统模块的实现(服务器端—结算功能(上部))
Android网络编程之一个Android下菜单系统模块的实现(客户端—添单功能(上部))
Android网络编程之一个Android下菜单系统模块的实现(服务器端—开桌功能))
Android网络编程之一个Android下菜单系统模块的实现(主操作界面)
Android网络编程之一个Android下菜单系统模块的实现(服务器端—添单功能)
热门文章
Android网络编程之一个Android下菜单系统模块的实现(客户端—开桌功能(下部))
在从服务器接收结果时发生传输级错误
一段关于实体类映射的代码
文件大小限制问题,限制上传文件功能只能上传指定大小的文件
easyui treegrid实现显示checkbox详解
后台拼接tree的json格式
最正宗的文件重命名
如何显示含有特殊字符的枚举值
如何多次提取字符串中的指定字符串
weifenluo.winformsui.docking 详解
Copyright © 2011-2022 走看看