using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace Business
{
/// <summary>
/// 加密类
/// </summary>
public class EncryptDes
{
/// <summary>
/// 解密连接字符串
/// </summary>
/// <param name="strInput">连接字符串</param>
/// <returns>解密后的连接字符串</returns>
public string Decrypt(string strInput)
{
bool bolSuccess = false;

strInput = strInput.Trim();

string strResult;
string strKey = "31415926";
string strIV = "31415926";

byte[] bytKey = System.Text.Encoding.GetEncoding("utf-8").GetBytes(strKey);
byte[] bytIV = System.Text.Encoding.GetEncoding("utf-8").GetBytes(strIV);

if ((strInput.Length > 0))
{
try
{
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
byte[] bytData = Convert.FromBase64String(strInput);
MemoryStream ms = new MemoryStream(bytData);
CryptoStream cs = new CryptoStream(ms, cryptoProvider.CreateDecryptor(bytKey, bytIV), CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cs);
strResult = sr.ReadToEnd();
bolSuccess = true;

}
catch (Exception ex)
{
strResult = strInput;
}
}
else
{
strResult = "";
}
return strResult;
}

/// <summary>
/// 加密连接字符串
/// </summary>
/// <param name="strInput">连接字符串</param>
/// <returns>加密后的连接字符串</returns>
public string Encrypt(string strInput)
{
bool bolSuccess = false;

strInput = strInput.Trim();

string strResult;

string strKey = "31415926";
string strIV = "31415926";

byte[] bytKey = System.Text.Encoding.GetEncoding("utf-8").GetBytes(strKey);
byte[] bytIV = System.Text.Encoding.GetEncoding("utf-8").GetBytes(strIV);
if ((strInput.Length > 0))
{
try
{
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, cryptoProvider.CreateEncryptor(bytKey, bytIV), CryptoStreamMode.Write);

StreamWriter sw = new StreamWriter(cs);

sw.Write(strInput);
sw.Flush();
cs.FlushFinalBlock();
ms.Flush();
strResult = Convert.ToBase64String(ms.GetBuffer(), 0, Convert.ToInt32(ms.Length));
bolSuccess = true;
}
catch (Exception ex)
{
strResult = strInput;
}
}
else
{
strResult = "";
}
return strResult;
}
}
}

C#Base64加密的更多相关文章

  1. android Base64 加密

    一 Base64加密 import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.OutputStre ...

  2. Js中 md5 sha1 base64 加密

    js的3中加密方式: .sha1加密,加密性高 调用: var sha = hex_sha1(str); .base64加密 调用: var b = new Base64(); var str = b ...

  3. js base64加密,后台解密

    这是为了解决页面发送post请求,传输密码,在页面的控制台可以看到密码的明文,所以先用base64把要传输的密码转换为非明文,然后在后台解密处理. base64encode.js // base64加 ...

  4. (iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题

    我们在项目中为了安全方面的考虑,通常情况下会选择一种加密方式对需要安全性的文本进行加密,而Base64加密和DES64加密是常用的加密算法.我记得我在前一个项目中使用的就是这两种加密算法的结合:Bas ...

  5. Base64加密工具-iBlogs

    简易的Base64加密工具开发步骤 1.编写Java测试桩 import java.io.BufferedReader; import java.io.IOException; import java ...

  6. JS实现base64加密解密

    JS实现base64加密解密 转载自http://blog.csdn.net/fengzheng0306/archive/2006/04/25/676055.aspx 方法一: <HTML> ...

  7. 【代码笔记】iOS-3DES+Base64加密解密

    一,工程目录. 二,代码. RootViewController.m #import "RootViewController.h" #import "NSString+T ...

  8. 实现Base64加密解密

    using System; using System.Text;   namespace Common { /// <summary> /// 实现Base64加密解密 /// </ ...

  9. IOS 杂笔-10(Base64 加密)

    base64加密是可逆的,因此并不是很安全,在一些注重安全的地方很少用到,但是在普通传输中可以使用. 切忌,base64加密是不安全的. // // ViewController.m // CX-Ba ...

  10. MD5加密,Base64加密/解密,AES加密/解密

    1.从github上下载GTMBase64-master和AESCrypt-ObjC-master导入工程,如下图所示. 2.使用前的配置及注意事项: (1) 在build phases中的GTMBa ...

随机推荐

  1. StarTeam SDK 13 下载安装

    SDK 13据称兼容 StarTeam 11. 下载地址是:ftp://us.ftp.microfocus.com/Starteam/st-sdk-13.0-readme.htm Java用户可以选在 ...

  2. error LNK2019: 无法解析的外部符号

    前些日子电脑系统崩了,重装了了下,原有的项目环境得重新搭建,总是在链接时提示:error LNK2019: 无法解析的外部符号………… 起初以为是库没包含全,可发现不是 有想了下可能是库的包含次序有问 ...

  3. setInterval和setTimeout的使用区别

    setTimeout和setInterval的使用 这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript.不过两者各有各的应用场景. 方 法 实际上,setTimeout和setIn ...

  4. INPUT[type=file]的change事件不触发问题

    在网页上要操作文件通常会使用INPUT[type=file]控件,但这个控件的设计很蛋疼.它不像其它编程语言中文件选择后会触发一个事件,只是让上面的文字改变,而这个改变可能会触发change事件而已. ...

  5. Window Server 2012无线网卡和声卡驱动解决方法

    刚开始安装server2012时,驱动一直装不上以为是驱动的问题,后来在网上找了一下才明白是为啥,由于服务器默认不会开启无线LAN功能.和声卡服务,下面简单的方式给大家介绍一下解决方法: 无线网卡解决 ...

  6. NotificationManager 发送通知

    该应用的界面如下,界面代码在此不再给出,源码github账户下载 MainActivity.java public class MainActivity extends Activity { priv ...

  7. 精读《javascript高级程序设计》笔记一——基本概念

    语法 严格模式 启用严格模式,在脚本顶部或函数内部上方添加"use strict";语句. 数据类型 typeof typeof返回undifined,boolean,number ...

  8. javascript不同数据类型的转换

    <script type="text/javascript"> var userEnteredNumber=prompt("Please enter a nu ...

  9. laravel post请求失败

    今天继续研究laravel,在路由里注册了一个控制器路由Route::controller(). 先get请求一个页面 class UserController extends Controller{ ...

  10. php中如何输出当前服务器的(中国)当前时间

    date_default_timezone_set('PRC');//PRC是什么?PRC是中华人民共和国啊-_- echo "今天是".date("Y年m月d日&quo ...