C# Base64编码解码工具类 Base64Tool.cs
作者:C/S框架网|www.csframewo  发布日期:2021/11/09 18:05:43
  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



C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇