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解密加密的更多相关文章

  1. base64位加密解密

    1.base64位加密base64是用于传输8Bit字节代码,由上图的编码表可以知道,编码后的内容只包含这64个字符类型,所以称为base64编码 2.编码过程 : 首先将待编码的内容转换成8位二进制 ...

  2. BASE64 的加密与解密

    package com.suning.security; import java.io.IOException; import sun.misc.BASE64Decoder; import sun.m ...

  3. jquery对中文进行base64加密,后台用java进行base64解密

    项目中遇到将中文从前台传到后台过程中,出现乱码,一番尝试之后,均是乱码,然后尝试在js代码中先进行base64加密,然后在Java中再进行解密,完美的解决了乱码问题,步骤如下 一,html页面引入jQ ...

  4. js base64加密与C#后台base64解密

    js代码 function encode64(input) { var output = ""; var base = new Base64(); var output = bas ...

  5. Java进阶开发-基于Base64的加密与解密操作

    基于Base64的加密与解密操作 正常来讲加密基本上永远伴随着解密,所谓的加密或者解密往往都是需要有一些所谓的规则.在JDK1.8开始提供有一组新的加密处理操作,Base64处理.在这个类里面有两个内 ...

  6. MD5加密、时间戳转换、base64算法加密、解密

    #region MD5加密 /// <summary> /// MD5加密 /// </summary> /// <param name="str"& ...

  7. [DEncrypt] MySecurity--安全加密/Base64/文件加密 (转载)

    点击下载 MySecurity.zip 这个类是关于加密,解密的操作,文件的一些高级操作1.MySecurity  加密字符串2.MySecurity  加密字符串 密钥为系统默认 012345678 ...

  8. 【Java提高】---通过UUID、SHA-1、Base64组合加密

    通过UUID.SHA-1.Base64组合加密 该篇文章实现的最终效果是: 1)加密是不可逆的. 2)相同字符串加密产生后的字符串都不一样 3)所以要想比较两个字符串是否相等,需要用已经加过密的字符串 ...

  9. base64解密

    问题 : base64解密 时间限制: 1 Sec  内存限制: 128 MB 题目描述 Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个 ...

随机推荐

  1. django 多对多自定义第三张表时的注意事项

    杂交(自定义第三张表+ManyToManyField) # modles.py class Boy(models.Model): name = models.CharField(max_length= ...

  2. .NET Core IdentityServer4实战-开篇介绍与规划

    一.开篇寄语 由于假期的无聊,我决定了一个非常有挑战性的活动,也就是在年假给大家带来一个基于OAuth 2.0的身份授权框架,它就是 IdentityServer4 ,如果没有意外的话,一定可以顺利的 ...

  3. Docker 快速开始

    1.  概念 对于开发人员和系统管理员来说,Docker是一个使用容器开发.部署和运行应用程序的平台.使用Linux容器部署应用程序称为容器化.容器并不新鲜,但是将它们用于轻松部署应用程序却很新鲜. ...

  4. C# .NET Web API 如何自訂 ModelBinder

    各位好!這次要來替大家介紹的是如何在 .NET  Web API 中自訂一個 ModelBinder 透過自定義的 ModelBinder 我們可以很簡單的將 QueryString 傳過來的參數綁定 ...

  5. Java PDF页面设置——页面大小、页边距、纸张方向、页面旋转

    下面的示例将介绍通过Java编程来对PDF页面进行个性化设置的方法,包括设置页面大小.页边距.纸张方向.页面旋转等.这里有如下多种页面大小尺寸可供选择: 同时,设置文档内容旋转时,可支持如下角度进行内 ...

  6. 【推荐】桌面版AI伴侣 含2.47 2.49 2.51汉化版

    桌面版AI伴侣,无需安装aiStarter,直接运行bat就能在电脑上启动AI伴侣,启动速度比虚拟机快很多.缺点是对硬件的要求比较高. 文件来自 https://mp.weixin.qq.com/s/ ...

  7. Android拦截并获取WebView内部POST请求参数

    起因: 有些时候自家APP中嵌入的H5页面并不是自家的.但是很多时候又想在H5不知情的情况下获取H5内部请求的参数,这应该怎么做到呢? 带着这个疑问,就有了这篇博客. 实现过程: 方案一: 最开始想到 ...

  8. python查询修改配置文件功能

    阅读目录 一.python查询功能代码 1.查询修改配置文件 global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 i ...

  9. 数据库原理 - 序列3 - 事务是如何实现的? - Redo Log解析

    6.5 事务实现原理之1:Redo Log 介绍事务怎么用后,下面探讨事务的实现原理.事务有ACID四个核心属性:A:原子性.事务要么不执行,要么完全执行.如果执行到一半,宕机重启,已执行的一半要回滚 ...

  10. Pycharm配置Git和Github

    安装Git(安装过程略) 注册Github(注册过程略) Pycharm配置 Github配置 进入Pycharm后点File——Settings,进入设置页面,依次展开Version Control ...