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;
}
}
查看全文
相关阅读:
异常响应配置
用户模块自定义
数据库配置
虚拟环境搭建
SDK Manager failed to install 'java.exe' locking directory
AndroidUI自动化测试工具-UIautomator
Android自动化压力测试快速入门教程(图解)——MonkeyRunner
adb 常用命令
Android压力测试快速入门教程(图解)——Monkey工具
测试用例的优先级别划分
原文地址:https://www.cnblogs.com/hyruur/p/2020494.html
最新文章
vue 父子传值,子页面没有实时刷新的问题
VUE中常用的一些方法
weex框架
从零做一个前端开源项目
socket实现ftp文件的上传和下载
课外扩展 三层架构+mvc架构分享
第一阶段:Python开发基础 day31 网络编程之基础--五层协议
课后练习 第一阶段:Python开发基础 day31 网络编程基础之基础知识小练习
课后练习 第一阶段:Python开发基础 day30 面向对象--单例模式实例
第一阶段:Python开发基础 day30 面向对象高阶--单例模式
热门文章
课后练习 第一阶段:Python开发基础 day29 面向对象元类相关小例题
课后练习 第一阶段:Python开发基础 day29 面向对象相关练习第一题
python学习 阶段性小项目 atm+购物车 面条版
课后练习 第一阶段:Python开发基础 day25 面向对象相关练习
过滤源码分析
Celery
Redis
Git冲突问题
Git
xadmin后台管理
Copyright © 2011-2022 走看看