C# Base64编码解码工具类 Base64Tool.cs
C# Base64编码解码工具类 Base64Tool.cs
Base64编码
Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24 位数据,再把这24位数据分成4组,即每组6位。再在每组的的最高位前补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节。这时在最后一组填充1到2个0字节。并在最后编码完成后在结尾添加1到2个 “=”。
Base64Tool.cs
C# Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSFrameworkV5.DemoLibrary
{
/// <summary>
/// C# Base64编码解码工具类
/// </summary>
public static class Base64Tool
{
/// <summary>
/// Base64加密,采用utf8编码方式加密
/// </summary>
/// <param name="source">待加密的明文</param>
/// <returns>加密后的字符串</returns>
public static string Encode(string source)
{
return Encode(Encoding.UTF8, source);
}
/// <summary>
/// Base64加密
/// </summary>
/// <param name="encodeType">加密采用的编码方式</param>
/// <param name="source">待加密的明文</param>
/// <returns></returns>
public static string Encode(Encoding encodeType, string source)
{
string encode = string.Empty;
byte[] bytes = encodeType.GetBytes(source);
try
{
encode = Convert.ToBase64String(bytes);
}
catch
{
encode = source;
}
return encode;
}
/// <summary>
/// Base64解密,采用utf8编码方式解密
/// </summary>
/// <param name="result">待解密的密文</param>
/// <returns>解密后的字符串</returns>
public static string Decode(string result)
{
return Decode(Encoding.UTF8, result);
}
/// <summary>
/// Base64解密
/// </summary>
/// <param name="encodeType">解密采用的编码方式,注意和加密时采用的方式一致</param>
/// <param name="result">待解密的密文</param>
/// <returns>解密后的字符串</returns>
public static string Decode(Encoding encodeType, string result)
{
string decode = string.Empty;
byte[] bytes = Convert.FromBase64String(result);
try
{
decode = encodeType.GetString(bytes);
}
catch
{
decode = result;
}
return decode;
}
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSFrameworkV5.DemoLibrary
{
/// <summary>
/// C# Base64编码解码工具类
/// </summary>
public static class Base64Tool
{
/// <summary>
/// Base64加密,采用utf8编码方式加密
/// </summary>
/// <param name="source">待加密的明文</param>
/// <returns>加密后的字符串</returns>
public static string Encode(string source)
{
return Encode(Encoding.UTF8, source);
}
/// <summary>
/// Base64加密
/// </summary>
/// <param name="encodeType">加密采用的编码方式</param>
/// <param name="source">待加密的明文</param>
/// <returns></returns>
public static string Encode(Encoding encodeType, string source)
{
string encode = string.Empty;
byte[] bytes = encodeType.GetBytes(source);
try
{
encode = Convert.ToBase64String(bytes);
}
catch
{
encode = source;
}
return encode;
}
/// <summary>
/// Base64解密,采用utf8编码方式解密
/// </summary>
/// <param name="result">待解密的密文</param>
/// <returns>解密后的字符串</returns>
public static string Decode(string result)
{
return Decode(Encoding.UTF8, result);
}
/// <summary>
/// Base64解密
/// </summary>
/// <param name="encodeType">解密采用的编码方式,注意和加密时采用的方式一致</param>
/// <param name="result">待解密的密文</param>
/// <returns>解密后的字符串</returns>
public static string Decode(Encoding encodeType, string result)
{
string decode = string.Empty;
byte[] bytes = Convert.FromBase64String(result);
try
{
decode = encodeType.GetString(bytes);
}
catch
{
decode = result;
}
return decode;
}
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761

参考文档:
C# 下载Web网页指定URL图片并转换为Base64String格式
WebApi开发框架DES加解密工具|Base64String转换工具JAVA源码下载
图片转为Base64编码的文本
采购订单 (PO, 主从表资料维护) | CSFramework.WebApi后端框架|C/S开发框架
客户管理 (Customer , 基础资料数据维护) | CSFramework.WebApi后端框架|C/S开发框架
C#使用Graphics合成二维码和头像的分享图(小程序分享、App分享)-C/S开发框架
C#多线程使用读写锁ReaderWriterLockSlim同步写入文件-C/S开发框架
DataSetExtension - C# DataSet对象持久化到本地文件
新增功能:保存前本地缓存数据,资料暂存解决方案 - Winform开发框架
C# Rijndael Encrypt加密/Decrypt解密算法
CSFramework.WebApi框架实现阿里云OSS上传、下载、删除文件功能
【原创】C# IKVM加密解密机AES对称加密模式AES-128-ECB,补码方式 PKCS5Padding
Asp.Net(C#)发送带有附件及显示图片的邮件
C# 下载Web网页指定URL图片并转换为Base64String格式
WebApi开发框架DES加解密工具|Base64String转换工具JAVA源码下载
图片转为Base64编码的文本
采购订单 (PO, 主从表资料维护) | CSFramework.WebApi后端框架|C/S开发框架
客户管理 (Customer , 基础资料数据维护) | CSFramework.WebApi后端框架|C/S开发框架
C#使用Graphics合成二维码和头像的分享图(小程序分享、App分享)-C/S开发框架
C#多线程使用读写锁ReaderWriterLockSlim同步写入文件-C/S开发框架
DataSetExtension - C# DataSet对象持久化到本地文件
新增功能:保存前本地缓存数据,资料暂存解决方案 - Winform开发框架
C# Rijndael Encrypt加密/Decrypt解密算法
CSFramework.WebApi框架实现阿里云OSS上传、下载、删除文件功能
【原创】C# IKVM加密解密机AES对称加密模式AES-128-ECB,补码方式 PKCS5Padding
Asp.Net(C#)发送带有附件及显示图片的邮件
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
