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 ...
一周排行
  • [javascript]   前期在.net 下进行系统操作,同样的功能实现起来非常复杂,没想到用javascript竟然如此简单,所以在网上搜索了代码并加以改进.   [javascript]   function ...
  • 本文来自赵庆贝博客 1.创建数组对象: 变量名 = new Array(元素1,元素2,元素3,......); 都以英文逗号隔开. 2.表示数组的某一元素: 数组是由数组名称和下标组成. 下标是表示数组的第几个元素 ...
  • #include <assert.h> //设定插入点 #include <ctype.h> //字符处理 #include <errno.h> //定义错误码 #include ...
  • SQLite是非常流行的嵌入式关系型数据库,轻载,速度快,而且是开源.在Android中,runtime提供SQLite,所以我们可以使用SQLite,而且是全集的SQLite.SQLite提供SQL接口,和一般的数 ...
  • 本篇是针对上一篇<spring整合jpa>文章进行优化 1.1.  使用接口代替dao层 1.1.1.   删除IpersonDao和PersonDaoImpl 1.1.2.   新建PersonDao. ...
  • 原文链接:http://huangfuligang.blog.51cto.com/9181639/1608549 一.cron.d增加定时任务 当我们要增加全局性的计划任务时,一种方式是直接修改/etc/cronta ...
  • android笔记之--向网络发送GET/POST请求参数  使用GET方法发送请求   private static boolean sendGETRequest (String path,             ...
  • 在 SQL Server 的存储过程中根据业务逻辑的要求,有时需要抛出自定义异常,由C#程序俘获之并进行相应的处理.SQL Server 抛出自定义异常和简单,像这样就可以了:RAISERROR('Rais Erro ...
  • 本报讯 "手机不知道怎么就被扣钱了"."手机越来越慢,老死机"."常用的软件被莫名其妙地删除了"--如果手机上网后发现这样的问题,很有可能是中了恶意软件的& ...
  • 九阴真经手游最快刷碎银教程!碎银怎么获得?怎么才能最快拿到碎银?不少玩家都跟小编抱怨说九阴里碎银完全不够用,甚至有时候比黄金还紧缺,对于这部分玩家,小编想说,快来看看下面的内容,只要你每天都完成下述内容,碎银绝对够用 ...