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 ...
一周排行
  • 学面向对象也有一段时间了,再次回顾,整理所得,写成这篇,知识点只是大致说,细节每本关于面向对象的书都有,就不啰嗦占用时间和篇幅了. 一  面向对象编程的由来: 和面向对象编程相对应的是面向过程编程 面向过程编程:就像 ...
  • 粟卫民http://www.gisdev.cn/ http://blog.csdn.net/suen/ 日期:8 保留所有版权.如需转载,请联系作者,并在醒目位置注明出处 前面概述了GeoServe ...
  • 首先我们看一个360浏览器中使用开发截图如下: 上面的Status Code:200  OK (这个就是状态码)   1.状态码主要用于服务器对请求的处理结果,它是一个三位的十进制数.响应状态码分为5类,如下所示: ...
  • 1.   连接函数strcat 其函数原型为:strcat(char [ ], const char [ ] ); strcat是string catenate(字符串连接)的缩写.该函数有两个字符数组的参数,函数的 ...
  • 给一个整数数组a[], 找到其中包含最多连续数的子集,比如给:15, 7, 12, 6, 14, 13, 9, 11,则返回: 5:[11, 12, 13, 14, 15] . 最简单的方法是sort然后scan一遍 ...
  • 一个客户碰到的具体需求,分区表中有些分区所在的表空间被OFFLINE,tb导致在删除统计信息时报错.     下面通过例子来说明这个问题: SQL> create table t_part_read (id n ...
  • 转:http://blog.csdn.net/windone0109/article/details/4353916  1 LoadRunner 函数大全之中文解释 // button_press 函数激活指定的推按 ...
  • 脉冲宽度调制定时器 作者:周志强,华清远见嵌入式学院讲师. 1. 概述 S5PC100有5个32位的计时器.这些计时器能够产生内部中断给ARM子系统.此外,计时器0.1和2包括脉冲宽度调制(PWM)功能驱动外部I / ...
  •         在平时的项目开发中,要用sublime进行ftp连接,弄了半天终于搞定了,废话不多说,具体过程如下:(我用的是xubuntu 11.10操作系统)         要想用ftp连接,默认的sublim ...
  • 众生对宇宙第一因的困惑 当玄奘法师到达印度时,佛教在印度已经没落了.戒贤法师已一百多岁,还在等玄奘法师的到来.当时的婆罗门等教派恢复了学术地位,印度的学术辩论非常民主,这些教派辩论得很厉害,还有全国性的公开讨论.当时 ...