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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Util.Extend
{
/// <summary>
/// 实现Base64加密解密
/// </summary>
public sealed class Base64
{
/// <summary>
/// Base64加密
/// </summary>
/// <param name="code">加密采用的编码方式</param>
/// <param name="source">待加密的明文</param>
/// <returns></returns>
public static string EncodeBase64(Encoding encode, string source)
{
string result = string.Empty;
byte[] bytes = encode.GetBytes(source);
try
{
result = Convert.ToBase64String(bytes);
}
catch
{
result = source;
}
return result;
} /// <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);
}
}
}

调用:

Base64.EncodeBase64(targetString);

最新文章

  1. android-之测试框架的使用AndroidTestCase
  2. 0511Scrum项目3.0
  3. 1011. World Cup Betting (20)(最大值)
  4. websocket nodejs实例
  5. Maven可继承的POM 元素
  6. win7 删除服务
  7. 蓝牙UUID——Android各种蓝牙设备的UUID
  8. web小技巧
  9. 关于js中两种定时器的设置及清除(转载)
  10. DPDK QoS之分层调度器
  11. 如何使用HTML5自定义数据属性
  12. Centos下_MysqL5.7在使用mysqldump命令备份数据库报错:mysqldump: [Warning] Using a password on the command line interface can be insecure.
  13. Log4j2 HelloWorld
  14. AStar算法()
  15. ActiveMQ (二)—发布订阅模式
  16. 201771010142 张燕《面向对象程序设计(java)》第一周学习总结
  17. 编写简单Linux内核模块
  18. Linux安装jsvc,及Linux服务开发
  19. winform绑定多张图片
  20. gcc windows版本

热门文章

  1. 删除 char[10][10] 中的一行
  2. JasperReports项目中的应用
  3. 局域网中使用的IP地址有哪些?
  4. WPF TextBox 多行时回车换行
  5. Ubuntu 12.04 LTS为例演示vsftpd虚拟用户 的配置
  6. Struts2学习第七课 result
  7. Equals 和 == 的区别--转
  8. C#——各种参数,扩展方法
  9. 2018牛客多校第九场E(动态规划,思维,取模)
  10. MongoDB自定义存储数据库文件位置