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 ...
随机推荐
- 用union 和 struct 位域操作
很久没有用C 语言中的 union 和 struct 位域操作了. 最近用了一下(当然,我承认是从stackoverflow 上抄的) 需求是这样的,已知一个 LPARAM 整数 3866625 ,求 ...
- string::cbegin string::cend
const_iterator cbegin() const noexcept; const_iterator cend() const noexcept;注:返回常量迭代器,不能修改 #include ...
- Eclipse里修改SVN的用户名和密码
删除Eclipse subclipse plugin中记住的SVN用户名密码: 1) 查看你的Eclipse中使用的是什么SVN Interface windows > preferenc ...
- RabbitMQ概要
安装: 1.Erlang安装 安装RabbitMQ需要先安装Erlang,这里选择otp21.2-win-64下载完成后安装 资源: http://www.erlang.org/downloads 2 ...
- ASP.NET大文件分片上传
文件夹数据库处理逻辑 public class DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject() ...
- diff:二进制文件内容差异比较
在Ubuntu 18.04下验证,造冰箱的大熊猫@cnblogs 2019/7/29 假设我们需要以二进制格式比较两个文件file1.bin和file2.bin的差异,一个简单的方法是 1)先使用xx ...
- 网络层中的 IP 协议
IP协议 IP(IPv4.IPv6)相当于 OSI 参考模型中的第3层——网络层.网络层的主要作用是“实现终端节点之间的通信”.这种终端节点之间的通信也叫“点对点通信”. 网络的下一层——数据链路层的 ...
- HDU 3689 Infinite monkey theorem ——(自动机+DP)
这题由于是一个单词,其实直接kmp+dp也无妨.建立自动机当然也是可以的.设dp[i][j]表示匹配到第i个字母的时候,在单词中处于第j个位置的概率,因此最终的答案是dp[0~m][len],m是输入 ...
- jquery ajax缓存问题解决方法小结
今天在做一个ajax数据提交功能开始利用get方式一直发现提交的数据都是一样,返回的数据也很久不刷新了,这个我知道是ajax缓存问题,后来在网上整理了一些ajax缓存问题解决方法,下面给大家分享一下. ...
- redis服务及其配置与应用(window 环境下)
一.redis简介:Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API(源自百度百科),个人更喜欢下面的解释:我们 ...