c#中base64加密解密

using System;
using System.Text;
 
namespace Common
{
/// <summary>
/// 实现Base64加密解密
/// </summary>
public sealed class Base64
{
/// <summary>
/// Base64加密
/// </summary>
/// <param name="codeName">加密采用的编码方式</param>
/// <param name="source">待加密的明文</param>
/// <returns></returns>
public static string EncodeBase64(Encoding encode, string source)
{
byte[] bytes = encode.GetBytes(source);
try
{
encode = Convert.ToBase64String(bytes);
}
catch
{
encode = source;
}
return encode;
}
 
/// <summary>
/// Base64加密,采用utf8编码方式加密
/// </summary>
/// <param name="source">待加密的明文</param>
/// <returns>加密后的字符串</returns>
public static string EncodeBase64(string source)
{
return EncodeBase64(Encoding.UTF8, source);
}
 
/// <summary>
/// Base64解密
/// </summary>
/// <param name="codeName">解密采用的编码方式,注意和加密时采用的方式一致</param>
/// <param name="result">待解密的密文</param>
/// <returns>解密后的字符串</returns>
public static string DecodeBase64(Encoding encode, string result)
{
string decode = "";
byte[] bytes = Convert.FromBase64String(result);
try
{
decode = encode.GetString(bytes);
}
catch
{
decode = result;
}
return decode;
}
 
/// <summary>
/// Base64解密,采用utf8编码方式解密
/// </summary>
/// <param name="result">待解密的密文</param>
/// <returns>解密后的字符串</returns>
public static string DecodeBase64(string result)
{
return DecodeBase64(Encoding.UTF8, result);
}
}
}
更多相关文章
  • 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包.通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.卡券.支付等微信特有的能力,为微信用户提供更优质的网页体验. 本文以介绍了分享接口里的“发送 ...
  • 作者:苹果 来自:http://www.apple317.com/TaynniBlog/ 其实这是在微软的Technet中心的脚本方面的一个系统,只是最近要搞这个东西 所以拿出来和大家一起学习了,,首先呢,你要准备好二个小工具,这二个小工具,是在微软 Quoted from Unkown:Scrip ...
  • 经过一年的培育,智能路由器市场正在迎来一场变革.在极路由.小米路由.果壳路由等先行者进入后,今年起TP-Link.磊科.360.优酷等传统企业和互联网公司才逐渐陆续登场,通过并购.合作的方式推陈出新,试图抢占这个离家庭用户最近的平台入口,巨头们的圈地运动才刚刚开始.黄牛不接招,市场待成熟从去年整个市 ...
  • 目录: 一. 新浪的布局特点 二. 内容细节的特点 三. 其中相关的一些基础技术点 1. 常见布局方法 2. 布局要点 3. Debugger误区 4.列表 5.字体颜色 6.CSS选择符 7.CSS图片 10. CSS半透明 文章背景:这是一次内部交流会的PPT,通过文字的方式记录下来,分享给更多 ...
  • 一,名词解释    PostScript字体: 按 PostScript 页面描述语言 (PDL) 规则定义的字体,并且只能在 PostScript 兼容的打印机上打印. 二,打开Launchpad>字体册.如下图,右侧会显示字体的PostScript名称.         参考资料: < ...
  • 基本操作: 在考生文件夹下,"samp1.mdb"数据库文件中已建立三个关联表对象(名为"职工表"."物品表"和"销售业绩表").一个窗体对象(名为"fTest")和一个宏对象(名为"mTe ...
一周排行
  •  一直都想去配置一个网络,没有什么硬件,实现这个奢望有点难.好吧,不管怎样也得去连一个局域网(要三个节点的).好好用一下实验室的电脑,用两个真实的,剩下一个用VMWare构造一个,为了下一个实验,现在选用redhat ...
  • 孙广东 2015.6.16理解UNity协同系统将帮助您更有效地使用它.UNity协同程序可能似乎有点奇怪,很少有人知道他们是如何工作的.了解IEnumerator你能猜到,协同工作与 IEnumerator接口和 ...
  • 重要参考:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html ubuntu自带vi,但不带vim,安装 sudo apt-get install ...
  • Background: 在使用Dell服务器的过程中,如果发生一下情况:可以进入系统,但是忘记iDrac卡的地址,在系统的某个Linux下,可以使用ipmitool这个工具来get一下硬件的信息,从而也能获得iDra ...
  • 1.安装python程序包 easy_install可以通过文件名称.资源的URL..egg文件(python egg文件)来下载安装文件 1.1通过名字安装,在PyPi中搜索最近的版本,自动下载,编译和安装. &g ...
  •   injection xcode这个工具可以实时修改显示效果  
  • 1.对数据库SQL2005.ORACLE熟悉吗?   SQL2005是微软公司的数据库产品.是一个RDBMS数据库,一般应用在一些中型数据库的应用,不能跨平台.   ORACLE是ORACLE公司的数据产品,支持海量 ...
  • GeneralDlg.htm <input type="text" ><input type="text" defineType="FontDlg& ...
  • <!DOCTYPE html><html lang="en" ><head><meta charset="utf-8" />&l ...
  •    装系统前的准备工作 (一)一些概念的理解           虚拟光驱是一种模拟(CD-ROM)工作的工具软件,可以生成和你电脑上所安装的光驱动能一模一样的虚拟光驱,一般光驱能做的事虚拟光驱一样可以做到,这的工 ...