zoukankan      html  css  js  c++  java
  • Base64加密 解密

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace CommonLib {
      public class Decryptions {
        /// <summary>
        /// Base64解密
        /// </summary>
        /// <param name="encode">解密采用的编码方式,注意:其与加密时采用的编码方式一致</param>
        /// <param name="result">待解密的密文</param>
        /// <returns></returns>
        public static string DecodeBase64(Encoding encode, string result) {
          var decode = string.Empty;
          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);
        }
      }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace CommonLib {
      public class Encryptions {
    
        /// <summary>
        /// Base64加密
        /// </summary>
        /// <param name="encode">加密采用的编码方式</param>
        /// <param name="source">待加密的明文</param>
        /// <returns></returns>
        public static string EncodeBase64(Encoding encode, string source) {
          var enStr = string.Empty;
          byte[] bytes = encode.GetBytes(source);
          try {
            enStr = Convert.ToBase64String(bytes);
          } catch {
            enStr = source;
          }
          return enStr;
        }
    
        /// <summary>
        /// Base64加密,采用utf8编码方式加密
        /// </summary>
        /// <param name="source">待加密的明文</param>
        /// <returns></returns>
        public static string EncodeBase64(string source) {
          return EncodeBase64(Encoding.UTF8, source);
        }
    
      }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace CommonLib {
      public class Mode {
        /// <summary>
        /// 获取所有支持的加密解密方式
        /// </summary>
        /// <returns></returns>
        public static List<string> GetModeList() {
          List<string> encriptTypeList = new List<string>() {
           "默认","utf-8","utf-7","ascii","unicode","utf-32"
          };
          return encriptTypeList;
        }
    
        /// <summary>
        /// 根据字符串,获取加密解密方式
        /// </summary>
        /// <param name="mode"></param>
        /// <returns></returns>
        public static Encoding GetMode(string mode) {
          Encoding m = Encoding.UTF8;
          switch (mode) {
            case "默认":
            case "utf-8":
              m = Encoding.UTF8;
              break;
            case "utf-7":
              m = Encoding.UTF7;
              break;
    
            case "ascii":
              m = Encoding.ASCII;
              break;
    
            case "unicode":
              m = Encoding.Unicode;
              break;
    
            case "utf-32":
              m = Encoding.UTF32;
              break;
            default:
              return m;
    
          }
          return m;
        }
      }
    }
  • 相关阅读:
    python排序算法的实现-插入
    python排序算法的实现-选择
    python排序算法的实现-冒泡
    python数据结构之图深度优先和广度优先
    python数据结构之图的实现
    python数据结构之二叉树遍历的实现
    python数据结构之二叉树的实现
    python数据结构之栈、队列的实现
    让淘宝链接在微信中分享,GO
    解决git 不同branch 下node_moudes不同步的问题
  • 原文地址:https://www.cnblogs.com/Jeely/p/11721306.html
Copyright © 2011-2022 走看看