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;
        }
      }
    }
  • 相关阅读:
    服务器的Redis连接不上解决方案
    给大家推荐一个很好的自学网站
    简单说下HashMap的实现原理
    LinkedList源码解析
    你要了解的jvm
    单例设计
    百度编辑器删除旧的图片
    Ueditor 单图、多图、视频、附件的上传及在线管理总结
    上传新图片删除旧图片
    webapi发布IIS时出现500.19错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny")或者是通过包含overrideModeDefault="Deny"....
  • 原文地址:https://www.cnblogs.com/Jeely/p/11721306.html
Copyright © 2011-2022 走看看