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;
}
}
}
Base64加密 解密的更多相关文章
- JS实现base64加密解密
JS实现base64加密解密 转载自http://blog.csdn.net/fengzheng0306/archive/2006/04/25/676055.aspx 方法一: <HTML> ...
- 【代码笔记】iOS-3DES+Base64加密解密
一,工程目录. 二,代码. RootViewController.m #import "RootViewController.h" #import "NSString+T ...
- 实现Base64加密解密
using System; using System.Text; namespace Common { /// <summary> /// 实现Base64加密解密 /// </ ...
- Java中使用BASE64加密&解密
package com.bao.tools.encryption; import java.io.IOException; import org.junit.Test; import sun.misc ...
- Base64加密解密原理以及代码实现(VC++)
Base64加密解密原理以及代码实现 转自:http://blog.csdn.net/jacky_dai/article/details/4698461 1. Base64使用A--Z,a--z,0- ...
- Java Base64 加密解密
使用JDK的类 BASE64Decoder BASE64Encoder package test; import sun.misc.BASE64Decoder; import sun.misc.BA ...
- php使用base64加密解密图片
php使用base64加密解密图片的实例代码. 例子: <?php //文件名:base64.php $data="/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAB ...
- Base64加密解密
/// <summary> /// 实现Base64加密解密 /// </summary> public sealed class Base64 { /// <summa ...
- password学3——Java BASE64加密解密
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之中的一个,大家能够查看RFC2045-RFC2049.上面有MIME的具体规范.Base64编码可用于在HTTP环境下传递较长的标识信息 ...
- .NET 实现Base-64加密解密处理
.NET 实现Base-64加密解密处理 using System; using System.Collections.Generic; using System.Linq; using System ...
随机推荐
- Base64编码与解码的作用
1.便于网络传输. 2.不可见性. 3.适合在http,mime协议下快速传输数据. 4 区别于加密,Base64是可以解码的,编码是 公开的,Base 64编码,任何人都可以解码
- docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /tmp/tfserving/
注意要是当前的完整路径 pwd查看到完整路径,再加入到source里面即可
- python常用函数拾零
Python常用内置函数总结: 整理过程中参考了runoob网站中python内置函数的相关知识点,特此鸣谢!! 原文地址:http://www.runoob.com/python/python-bu ...
- “景驰科技杯”2018年华南理工大学程序设计竞赛 A. 欧洲爆破(思维+期望+状压DP)
题目链接:https://www.nowcoder.com/acm/contest/94/A 题意:在一个二维平面上有 n 个炸弹,每个炸弹有一个坐标和爆炸半径,引爆它之后在其半径范围内的炸弹也会爆炸 ...
- BZOJ 2049: [Sdoi2008]Cave 洞穴勘测 (LCT维护连通性)
直接把x设为根,然后查询y所在联通块的根是不是x就行了. CODE #include <cstdio> #include <cstring> #include <algo ...
- Vue : Select
<template> <div> <select v-model="mychoice"> <option value="html ...
- IF语句及代码练习
接着上篇的内容 ㈠ if . . . else . . .语句 ⑴语法 if(条件表达式){ 语句. . . } else { 语句. . . } ...
- nginx之location模式
这篇博客写的很nice, 转载: https://www.jianshu.com/p/e154c2ef002f 简单记一下: 匹配语法: = ^~ ~(区分大小写) ~*(不区 ...
- 03 HTTP协议与HTTPS协议
一.HTTP协议 1.官方概念: HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文 ...
- WIN7系统TortoiseSVN右键没有菜单解决办法
TortoiseSVN右键菜单不显示解决办法,亲测有效.其他操作系统解决办法类似,如有问题,给我留言. 百度经验:jingyan.baidu.com 工具/原料 TortoiseSVN 百度经验: ...