using System;
using System.Text;

namespace Common
{
        /// <summary>
        /// 实现Base64加密解密
        /// 作者:周公
        /// 时间:2007
        /// </summary>
        public sealed class Base64
        {
                /// <summary>
                /// Base64加密
                /// </summary>
                /// <param name="codeName">加密采用的编码方式</param>
                /// <param name="source">待加密的明文</param>
                /// <returns></returns>
                public static string EncodeBase64(Encoding encode, string source)
                {
                        byte[] bytes = encode.GetBytes(source);
                        try
                        {
                                encode = Convert.ToBase64String(bytes);
                        }
                        catch
                        {
                                encode = source;
                        }
                        return encode;
                }

                /// <summary>
                /// Base64加密,采用utf8编码方式加密
                /// </summary>
                /// <param name="source">待加密的明文</param>
                /// <returns>加密后的字符串</returns>
                public static string EncodeBase64(string source)
                {
                        return EncodeBase64(Encoding.UTF8, source);
                }

                /// <summary>
                /// Base64解密
                /// </summary>
                /// <param name="codeName">解密采用的编码方式,注意和加密时采用的方式一致</param>
                /// <param name="result">待解密的密文</param>
                /// <returns>解密后的字符串</returns>
                public static string DecodeBase64(Encoding encode, string result)
                {
                        string decode = "";
                        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);
                }
        }
}

用C#实现Base64处理,加密解密,编码解码的更多相关文章

  1. base64位加密解密

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

  2. 【支付专区】之对字符串数据进行Base64位加密,解密

    加密,解密 String pwd="测试"; byte[] bytes = pwd.getBytes("UTF-8"); //加密 String pwdNew= ...

  3. Base64加密解密原理以及代码实现(VC++)

    Base64加密解密原理以及代码实现 转自:http://blog.csdn.net/jacky_dai/article/details/4698461 1. Base64使用A--Z,a--z,0- ...

  4. Base64加密解密原理以及代码实现

    1. Base64使用A--Z,a--z,0--9,+,/ 这64个字符.    2. 编码原理:将3个字节转换成4个字节( (3 X 8) = 24 = (4 X 6) )先读入3个字节,每读一个字 ...

  5. C#_加密解密

    一.MD5加密解密 1.加密 public static string ToMd5(string clearString) { Byte[] clearBytes = System.Text.Enco ...

  6. ASP.NET常用加密解密方法

    ASP.NET常用加密解密方法 一.MD5加密解密 1.加密 C# 代码           public static string ToMd5(string clearString)        ...

  7. DES加密解密帮助类

    public class DESCrypto { /// <summary> /// 初始化des实例秘钥及向量 /// </summary> /// <param na ...

  8. 利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  9. JS实现base64加密解密

    JS实现base64加密解密 转载自http://blog.csdn.net/fengzheng0306/archive/2006/04/25/676055.aspx 方法一: <HTML> ...

随机推荐

  1. Android笔记——数据库升级与降级

    一.概述 SQLite是Android内置的一个很小的关系型数据库.SQLiteOpenHelper是一个用来辅助管理数据库创建和版本升级问题的抽象类.我们可以继承这个抽象类,实现它的一些方法来对数据 ...

  2. spark streaming kafka example

    // scalastyle:off println package org.apache.spark.examples.streaming import kafka.serializer.String ...

  3. 基于DevExpress ImageSlider实现图片轮播效果

    工具:DevExpress版本为15.2.7 1.控件类型全称:DevExpress.XtraEditors.Controls.ImageSlider 2.控件所在程序集:DevExpress.Xtr ...

  4. 盘点JavaScript里好用的原生API

    转自:https://segmentfault.com/a/1190000002753931 解析字符串对象 我们都知道,JavaScript对象可以序列化为JSON,JSON也可以解析成对象,但是问 ...

  5. iframe在ios下无故扩大的问题探究

    移动端页面内嵌了个 iframe,在 ios 下打开却发现页面怪异.比如 demo.代码如下: <!DOCTYPE html> <html lang="zh-CN" ...

  6. POJ 2697 A Board Game(Trie判重+BFS)

    A Board Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 551   Accepted: 373 Descri ...

  7. dispaly 的block与inline-block的用法

    一直以来没有弄清block与line-block的用法,今天花点时间整理一下. <body> <div class="div1">div1</div& ...

  8. 统计《ASP.Net特供视频教程》总长度

    忽然想统计一下我录制过的视频一共多长时间,由于视频文件很多,一共72个,挨个打开进行累加不是程序员应该想起的办法.所以就打算写一个程序来完成这件事,最核心的问题就是“获得一个视频文件的时长”. ffm ...

  9. arcobject 相关

    要素添加: http://resources.esri.com/help/9.3/arcgisengine/arcobjects/esriGeoDatabase/IFeatureClass.Inser ...

  10. 转载-MySQL 加锁处理分析

    MySQL 加锁处理分析 发表于 2013 年 12 月 13 日 由 hedengcheng 1    背景    1 1.1    MVCC:Snapshot Read vs Current Re ...