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. monkey----测试中的要求

       测试中的要求:   (1)导出的log命名以测试机的imei号为主或者是以测试机的编号为主,这样方便找到测试机,避免出现问题后无法找到机器,难以定位问题. 导出的log文件后缀名以.log命名, ...

  2. 『发呆』.Net 2.0 ~ .Net 4.0 所实现了那些底层

    随着时间的推移,程序越写越大,代码越写越少. 今天突然发呆,就想比较全面的汇总一下 .Net 2.0 和 .Net 4.0 都实现的功能. .Net 2.0 的大部分常见程序集 (已经过滤掉了一部分和 ...

  3. 真win10官方原版ISO下载方法

    最近装新机器,计划装个双系统,但是新硬件用不了Win7,只好改装Win10.经过数遍尝试,发现网上很多打着官方原版旗号的ISO以及各种装机软件,或多或少都捆绑了一些"流氓"软件,这 ...

  4. 如何使用JS来开发室内三维地图的轨迹回放功能

     在制作完成室内三维地图的功能后,最经常有的需求就是如何做人员的轨迹回放,一般流程都是从数据库中查询轨迹坐标后,经过后台查询接口返回给前端,接下来的事情都交给JS来完成. 如果想做好一个性能好的轨迹回 ...

  5. C# 设置Excel中的数字字符串格式

    在Excel中,数字字符串用不同格式表示,可代表不同数据意义.例如在财务报表里需要用特定的数字字符串格式来反映金额信息.货币币种.数据精确程度.增减趋势等等.下面分享如何通过C#编程来设置Excel表 ...

  6. MongoDB分片群集的部署(用心描述,详细易懂)!!

    概念: MongoDB分片是使用多个服务器存储数据的方法,以支持巨大的数据存储和对数据进行存储 优势: 1.减少了每个分片需啊哟处理的请求数,群集可以提高自己的存储容量和吞吐量 2.减少了每个分片存储 ...

  7. 20190402-display展现、float浮动

    目录 1.display展现 dispaly:"none | block | inline | inline-block | list-item | run-in(主流浏览器不支持) | t ...

  8. 把时间留给重要的事——Markdown 模板功能上线

    你是否遇到过因为同事在任务中过于放飞自我而感到头疼?或者经历过因为内容描写的不系统而导致关键信息被忽视? 现在,CODING Markdown 模板功能将帮助你解决这些困扰. 功能介绍 CODING ...

  9. Android底部导航栏(可滑动)----TabLayout+viewPager

    [TabLayout] ①TabLayout是选项卡,在屏幕空间有限的情况下,对不同的空间进行分组.属于android support design,更多的用于新闻上,如果放在底部也可做底部导航栏 ② ...

  10. 使用BCDEDIT创建BCD文件

    网上找了好久,总算找到一个完全的BCD文件编辑过程的代码,分享下: ###第1步############################################################ ...