有时候需要对字符串进行加密,不以明文显示,可以使用此方法,比如对URL的参数加密

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Util.Extend
  8. {
  9. /// <summary>
  10. /// 实现Base64加密解密
  11. /// </summary>
  12. public sealed class Base64
  13. {
  14. /// <summary>
  15. /// Base64加密
  16. /// </summary>
  17. /// <param name="code">加密采用的编码方式</param>
  18. /// <param name="source">待加密的明文</param>
  19. /// <returns></returns>
  20. public static string EncodeBase64(Encoding encode, string source)
  21. {
  22. string result = string.Empty;
  23. byte[] bytes = encode.GetBytes(source);
  24. try
  25. {
  26. result = Convert.ToBase64String(bytes);
  27. }
  28. catch
  29. {
  30. result = source;
  31. }
  32. return result;
  33. }
  34.  
  35. /// <summary>
  36. /// Base64加密,采用utf8编码方式加密
  37. /// </summary>
  38. /// <param name="source">待加密的明文</param>
  39. /// <returns>加密后的字符串</returns>
  40. public static string EncodeBase64(string source)
  41. {
  42. return EncodeBase64(Encoding.UTF8, source);
  43. }
  44.  
  45. /// <summary>
  46. /// Base64解密
  47. /// </summary>
  48. /// <param name="codeName">解密采用的编码方式,注意和加密时采用的方式一致</param>
  49. /// <param name="result">待解密的密文</param>
  50. /// <returns>解密后的字符串</returns>
  51. public static string DecodeBase64(Encoding encode, string result)
  52. {
  53. string decode = "";
  54. byte[] bytes = Convert.FromBase64String(result);
  55. try
  56. {
  57. decode = encode.GetString(bytes);
  58. }
  59. catch
  60. {
  61. decode = result;
  62. }
  63. return decode;
  64. }
  65.  
  66. /// <summary>
  67. /// Base64解密,采用utf8编码方式解密
  68. /// </summary>
  69. /// <param name="result">待解密的密文</param>
  70. /// <returns>解密后的字符串</returns>
  71. public static string DecodeBase64(string result)
  72. {
  73. return DecodeBase64(Encoding.UTF8, result);
  74. }
  75. }
  76. }

调用:

  1. Base64.EncodeBase64(targetString);

字符串实现Base64加密/解密的更多相关文章

  1. django删除表重建&修改用户密码&base64加密解密字符串&ps aux参数说明&各种Error例子

    1.django的queryset不支持负索引 AssertionError: Negative indexing is not supported. 2.django向前端JavaScript传递列 ...

  2. JS实现base64加密解密

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

  3. 实现Base64加密解密

    using System; using System.Text;   namespace Common { /// <summary> /// 实现Base64加密解密 /// </ ...

  4. Base64加密解密

    /// <summary> /// 实现Base64加密解密 /// </summary> public sealed class Base64 { /// <summa ...

  5. password学3——Java BASE64加密解密

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之中的一个,大家能够查看RFC2045-RFC2049.上面有MIME的具体规范.Base64编码可用于在HTTP环境下传递较长的标识信息 ...

  6. .NET 实现Base-64加密解密处理

    .NET 实现Base-64加密解密处理 using System; using System.Collections.Generic; using System.Linq; using System ...

  7. c#中base64加密解密

    using System;using System.Text; namespace Common{/// <summary>/// 实现Base64加密解密/// </summary ...

  8. Base64加密解密工具类

    使用Apache commons codec类Base64进行加密解密 maven依赖 <dependency> <groupId>commons-codec</grou ...

  9. asp.net——Base64加密解密

    /// <summary> /// 实现Base64加密解密 /// </summary> public sealed class Base64 { /// <summa ...

随机推荐

  1. js中object、字符串与正则表达式的方法

    对象 1.object.hasOwnProperty(name) 检测object是否包含一个名为name的属性,那么hasOwnProperty方法返回true,但是不包括其原型上的属性. 正则表达 ...

  2. java 学习众多API和手册资源下载

    这个资源包里面有jdk api 还有SSH框架的手册,数据库的手册,Jquery手册等等,还有正则表达式等, 希望可以帮助有需要的人 链接:http://希望pan.baidu.com/s/1pJ60 ...

  3. Java探索之旅(7)——对象的思考

    1.知识要点 ❶不可变类:一旦创建,其内容不能改变的类称之为不可变类.满足:⑴所有数据域私有,⑵没有修改器,⑶没有访问器方法,其返回一个指向可变数据域的引用.(这样通过引用就能修改私有数据域).比如, ...

  4. 【总结整理】overflow: auto/hidden;清除自己

    .top-nav{ font-size: 12px; font-weight: bold; list-style-type: none; border-bottom: 8px solid #DC4E1 ...

  5. 使用log4j出现缺失com.sun.jdmk:jmxtools:jar:1.2.1

    用maven引用log4j出现缺失com.sun.jdmk:jmxtools:jar:1.2.1的错误提示 解决方案一:使用1 .2 .15之前版本的log4j 解决方二: <dependenc ...

  6. 从Github远程库安装Node.JS

    3)从Github远程库安装Node.JS在这个方法中我们需要一些步骤来把Node.js的从Github上的远程的仓库克隆到本地仓库目录 在开始克隆(克隆)包到本地并且配制之前,我们要先安装以下依赖包 ...

  7. pip 在windows下如何升级

    建议:由于是pip的国外的,在更新之前先开启vpn,这样更新会顺畅些. 官方网页要求在 cmd中输入以下命令进行 pip的 更新: python -m pip install -U pip 更新成功后 ...

  8. [转发]深入理解git,从研究git目录开始

    转发学习的啦. 似乎很少有人在读某个git快速教程的时候会说:“这个关于git的快速教程太酷了!读完了用起git来超级舒服,并且我一点也不怕自己会破坏什么东西.” 对git的初学者来说,刚接触git时 ...

  9. datanode与namenode的通信原理

    在分析DataNode时, 因为DataNode上保存的是数据块, 因此DataNode主要是对数据块进行操作. **A. DataNode的主要工作流程:** 1. 客户端和DataNode的通信: ...

  10. 利用Fitnesse测试外部jar包

    1. 下载Fitnesse官方jar http://www.fitnesse.org/FitNesseDownload 2. 下载后,创建下面目录,其中FitnesseRoot目录,不需要创建,Fit ...