c# Base64解密加密
private static string base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
private static int[] base64DecodeChars ={
-, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -,
-, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -,
-, -, -, -, -, -, -, -, -, -, -, , -, -, -, ,
, , , , , , , , , , -, -, -, -, -, -,
-, , , , , , , , , , , , , , , ,
, , , , , , , , , , , -, -, -, -, -,
-, , , , , , , , , , , , , , , ,
, , , , , , , , , , , -, -, -, -, - };
/// <summary>
/// Base64加密
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string Base64Encode(string str)
{
string res = "";
, len;
int c1, c2, c3;
len = str.Length;
i = ;
res = "";
while (i < len)
{
c1 = Convert.ToByte(str[i++]) & 0xff;
if (i == len)
{
res += base64EncodeChars.CharAt(c1 >> );
res += base64EncodeChars.CharAt((c1 & );
res += "==";
break;
}
c2 = Convert.ToByte(str[i++]);
if (i == len)
{
res += base64EncodeChars.CharAt(c1 >> );
res += base64EncodeChars.CharAt(((c1 & ) | ((c2 & ));
res += base64EncodeChars.CharAt((c2 & );
res += "=";
break;
}
c3 = Convert.ToByte(str[i++]);
res += base64EncodeChars.CharAt(c1 >> );
res += base64EncodeChars.CharAt(((c1 & ) | ((c2 & ));
res += base64EncodeChars.CharAt(((c2 & ) | ((c3 & ));
res += base64EncodeChars.CharAt(c3 & 0x3F);
}
return res;
}
/// <summary>
/// Base64加解密
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string Base64Decode(string str)
{
string res = "";
, len;
int c1, c2, c3, c4;
len = str.Length;
len = str.Length;
i = ;
res = "";
while (i < len)
{
/* c1 */
do
{
c1 = base64DecodeChars[Convert.ToByte(str[i++]) & 0xff];
} );
)
break;
/* c2 */
do
{
c2 = base64DecodeChars[Convert.ToByte(str[i++]) & 0xff];
} );
)
break;
res += Convert.ToChar((c1 << ) | ((c2 & ));
/* c3 */
do
{
c3 = Convert.ToByte(str[i++]) & 0xff;
)
return res;
c3 = base64DecodeChars[c3];
} );
)
break;
res += Convert.ToChar(((c2 & ) | ((c3 & ));
/* c4 */
do
{
c4 = Convert.ToByte(str[i++]) & 0xff;
)
return res;
c4 = base64DecodeChars[c4];
} );
)
break;
res += Convert.ToChar(((c3 & ) | c4);
}
return res;
}
c# Base64解密加密的更多相关文章
- base64位加密解密
1.base64位加密base64是用于传输8Bit字节代码,由上图的编码表可以知道,编码后的内容只包含这64个字符类型,所以称为base64编码 2.编码过程 : 首先将待编码的内容转换成8位二进制 ...
- BASE64 的加密与解密
package com.suning.security; import java.io.IOException; import sun.misc.BASE64Decoder; import sun.m ...
- jquery对中文进行base64加密,后台用java进行base64解密
项目中遇到将中文从前台传到后台过程中,出现乱码,一番尝试之后,均是乱码,然后尝试在js代码中先进行base64加密,然后在Java中再进行解密,完美的解决了乱码问题,步骤如下 一,html页面引入jQ ...
- js base64加密与C#后台base64解密
js代码 function encode64(input) { var output = ""; var base = new Base64(); var output = bas ...
- Java进阶开发-基于Base64的加密与解密操作
基于Base64的加密与解密操作 正常来讲加密基本上永远伴随着解密,所谓的加密或者解密往往都是需要有一些所谓的规则.在JDK1.8开始提供有一组新的加密处理操作,Base64处理.在这个类里面有两个内 ...
- MD5加密、时间戳转换、base64算法加密、解密
#region MD5加密 /// <summary> /// MD5加密 /// </summary> /// <param name="str"& ...
- [DEncrypt] MySecurity--安全加密/Base64/文件加密 (转载)
点击下载 MySecurity.zip 这个类是关于加密,解密的操作,文件的一些高级操作1.MySecurity 加密字符串2.MySecurity 加密字符串 密钥为系统默认 012345678 ...
- 【Java提高】---通过UUID、SHA-1、Base64组合加密
通过UUID.SHA-1.Base64组合加密 该篇文章实现的最终效果是: 1)加密是不可逆的. 2)相同字符串加密产生后的字符串都不一样 3)所以要想比较两个字符串是否相等,需要用已经加过密的字符串 ...
- base64解密
问题 : base64解密 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个 ...
随机推荐
- springboot redis多数据源
springboot中默认的redis配置是只能对单个redis库进行操作的. 那么我们需要多个库操作的时候这个时候就可以采用redis多数据源. 本代码参考RedisAutoConfiguratio ...
- 再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署
前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应.大家发现了另一款开源的数据库: PostgreSQL. 虽然centos自带版本9.2也可以用,但是最近的几次 ...
- 了解Scala 宏
前情回顾 了解Scala反射介绍了反射的基本概念以及运行时反射的用法, 同时简单的介绍了一下编译原理知识, 其中我感觉最为绕的地方, 就属泛型的几种使用方式了. 而最抽象的概念, 就是对于符号和抽象树 ...
- 企业私有源代码上传github致入侵之大疆案判决了
事件简单回顾: 1.2017年8月28日,大疆宣布“大疆威胁识别奖励计划”,最高3万美元: 2.然而在此之前,大疆农业事业部某员工将企业私有源代码上传到了github: 3.就职于大疆竞对公司Depa ...
- python爬虫Scrapy(一)-我爬了boss数据
一.概述 学习python有一段时间了,最近了解了下Python的入门爬虫框架Scrapy,参考了文章Python爬虫框架Scrapy入门.本篇文章属于初学经验记录,比较简单,适合刚学习爬虫的小伙伴. ...
- Python-字符版gif图
一.背景 上一篇文章我们讲了怎么做自己的炫酷二维码,需要的移驾Python-炫酷二维码,本片文章我们讲述下怎么把一张图片处理成字符版图片,就是说使用字符替代每个像素的颜色,形成一个由字符组成的图片,并 ...
- Go:学习笔记兼吐槽(3)
Go:学习笔记兼吐槽(1) Go:学习笔记兼吐槽(2) Go:学习笔记兼吐槽(3) 数组 Golang 中,数组是值类型. 数组的声明 var arr [10]int 数组的初始化 var arr1 ...
- 如何使用vs将asp.net core项目添加容器支持并发布docker镜像到私有dockerhub和添加k8s/helm管理
这篇文章介绍一下,如何使用VS2017给asp.net core添加容器支持,并发布镜像到私有docker hub,然后用chart管理容器镜像的操作流程. 话不多说,just do it. 新建项目 ...
- revit二次开发addin文件
command命令: <?xml version="1.0" encoding="utf-8"?> <RevitAddIns> < ...
- Java之品优购课程讲义_day06(7)
商品录入[SKU 商品信息]5.1 需求分析 基于上一步我们完成的规格选择,根据选择的规格录入商品的 SKU 信息,当用户选择相应的规格,下面的 SKU 列表就会自动生成,如下图:实现思路:实现思路: ...