zoukankan
html css js c++ java
字符串加密方法
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;
}
}
}
}
查看全文
相关阅读:
flexbox子盒子order属性
将页面中表格数据导出excel格式的文件(vue)
vue.js生命周期钩子函数及缓存
js获取n分钟(或n小时或n个月)后(或前)的时间(日期)
微信小程序之模版的使用(template)
微信小程序导出当前画布指定区域的内容并生成图片保存到本地相册(canvas)
关于UUID
关于axios及其在vue中的配置
Vue.js之下拉列表及选中触发事件
基于iview的后台管理
原文地址:https://www.cnblogs.com/pw/p/615060.html
最新文章
Node.js 手册查询-3-Mongoose 方法
Node.js 手册查询-5-Ejs 方法
Node.js 手册查询-4-Express 方法
Node.js ejs中文手册
java list 交集 并集 差集 去重复并集
SQL SERVER各种用法总结
linux文本操作界面 vi面板如何复制一行
找工作
移动端调试方案
【转】别人嫉妒你的表现
热门文章
python那些事儿
javascript的replace方法的高级应用
vuejs使用FormData对象,ajax上传图片文件
flexbox子盒子flex-grow,flex-shrink,flex-basis属性
flexbox常用布局左右固定,中间自适应
flexbox常用布局上下固定,中间滚动
javascript拖拽操作
javascript全屏操作
flexbox子盒子flex属性
flexbox子盒子align-self属性
Copyright © 2011-2022 走看看