public class AESHelper     {         /// <summary>         /// 获取密钥         /// </summary>         private static string Key         {             get             {                 return "abcdef1234567890";    ////必须是16位             }         }

//默认密钥向量         private static byte[] _key1 = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF, 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };

/// <summary>         /// AES加密并经base64编码处理         /// </summary>         /// <param name="plainText">明文字符串</param>         /// <returns>将加密后的密文转换为Base64编码,以便显示</returns>         public static string AESEncrypt(string plainText)         {             //分组加密算法             SymmetricAlgorithm des = Rijndael.Create();             byte[] inputByteArray = Encoding.UTF8.GetBytes(plainText);//得到需要加密的字节数组             //设置密钥及密钥向量             des.Key = Encoding.UTF8.GetBytes(Key);             des.IV = _key1;             byte[] cipherBytes = null;             using (MemoryStream ms = new MemoryStream())             {                 using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))                 {                     cs.Write(inputByteArray, 0, inputByteArray.Length);                     cs.FlushFinalBlock();                     cipherBytes = ms.ToArray();//得到加密后的字节数组                     cs.Close();                     ms.Close();                 }             }             return Convert.ToBase64String(cipherBytes);         }

/// <summary>         /// AES解密并经base64编码处理         /// </summary>         /// <param name="cipherText">密文字符串</param>         /// <returns>返回解密后的明文字符串</returns>         public static string AESDecrypt(string showText)         {             byte[] cipherText = Convert.FromBase64String(showText);

SymmetricAlgorithm des = Rijndael.Create();             des.Key = Encoding.UTF8.GetBytes(Key);             des.IV = _key1;             byte[] decryptBytes = new byte[cipherText.Length];             using (MemoryStream ms = new MemoryStream(cipherText))             {                 using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Read))                 {                     cs.Read(decryptBytes, 0, decryptBytes.Length);                     cs.Close();                     ms.Close();                 }             }             return Encoding.UTF8.GetString(decryptBytes).Replace("\0", "");   ///将字符串后尾的'\0'去掉         }

}

AES 与Base64加密的更多相关文章

  1. MD5加密,Base64加密/解密,AES加密/解密

    1.从github上下载GTMBase64-master和AESCrypt-ObjC-master导入工程,如下图所示. 2.使用前的配置及注意事项: (1) 在build phases中的GTMBa ...

  2. 自己写的AES和RSA加密解密工具

    package com.sdyy.common.utils; import java.security.Key; import java.security.KeyFactory; import jav ...

  3. golang AES/ECB/PKCS5 加密解密 url-safe-base64

    因为项目的需要用到golang的一种特殊的加密解密算法AES/ECB/PKCS5,但是算法并没有包含在标准库中,经过多次失败的尝试,终于解码成功,特此分享: /* 描述 : golang AES/EC ...

  4. Java http数据MD5、AES、DES加密

    一,数据加密 1.提供了,md5,Hex,Sha等不可逆算法加密 2.AES加密,此加密方式瘦平台影响较重,所以只适合同类平台加密解密 3.DES自定义加密,跨平台,兼容性好 1.org.apache ...

  5. 接口API中的敏感数据基于AES进行安全加密后返回

    许久没有写博客了,有些惶恐地打开这个再熟悉不过的编辑器. 场景:要对一个涉及到敏感数据(账号.密码)的接口进行加密后返回 由于之前没有相关的经验,所以先在网上搜罗了一阵,这篇博客不错https://w ...

  6. AES前后端加密

    1.前端代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  7. 我的Android进阶之旅------>Android采用AES+RSA的加密机制对http请求进行加密

    前言 未加密的抓包截图 加密之后的抓包截图 基本需求及概念 AES算法 AES基本原理及算法流程 AES算法流程 RSA算法 RSA算法基本原理及流程 RSA算法实现流程 AES与RSA相结合数据加密 ...

  8. Java android DES+Base64加密解密

    服务器与客户端加密解密传输, 中间遇到各种坑,客户端无论用AES还是DES解密时都会出现错误,后来才看到好多人说要用AES/DES加完密后还要BASE64加密,照做时发现android和java的Ba ...

  9. 微信小程序aes前后端加密解密交互

    aes前后端加密解密交互 小程序端 1. 首先引入aes.js /** * [description] CryptoJS v3.1.2 * [description] zhuangzhudada so ...

随机推荐

  1. (TODO:)下载图片,报错:warning: could not load any Objective-C class information from the dyld shared cache. This will significantly reduce the quality of type information available.

    想使用NSInvocationOperation下载图片,然而并没有下载下来, NSData为nil, 还有报错:(打断点就报错) warning: could not load any Object ...

  2. 【javaweb学习】解析XML

    XML解析方式有两种 dom:Document Object Model文档对象模型,是w3c组织推荐的解析方式 sax:Simple Api XML不是官方标准,但它是XML社区实际上的标准,几乎所 ...

  3. google play iap 常见问题

    1.测试阶段query时获取的sku对象为空 解:测试阶段只能使用如下sku // private static final String SKU_TEST = "android.test. ...

  4. js的forEach,for in , for of

    forEach遍历数组 [].forEach(function(value, index, array) { // ... }); 例子 var myArry =[1,2,3,4]; myArry.d ...

  5. 我的jsonp跨域问题

    关于jsonp跨域问题,在这个方面也是了解一点点,先记录下来,主要作为以后查看,之前下载并安装过wampserver,了解到了jsonp和json的区别,现在谈谈跨域这个问题: 首先什么是跨域,简单地 ...

  6. Win10 锁屏图片 路径

    Win10锁屏图片非常漂亮,下面是获得这些图片的方法: 一. 找到这个路径 C:\Users\UserName\AppData\Local\Packages\Microsoft.Windows.Con ...

  7. html5 app开发,你知道多少?

    随着大量新生移动设备的兴起,改变了互联网的未来,html5技术为开发者提供了一个跨平台的移动app开发方案,并且该方案具有很好的扩展性和灵活性,但就国内使用html5开发app应用技术来讲,还是有欠缺 ...

  8. storm学习

    一 storm 相关术语 . Nimbus storm 集群主节点,负责资源分配和任务调度.(相当于namenode) . supervisor storm集群工作节点,接受Nimbu分配任务,管理w ...

  9. iOS,应用崩溃日志分析

    参考资料:http://www.cocoachina.com/industry/20130725/6677.html 1.获得崩溃日志 2.崩溃日志实例 3.符号化崩溃日志 4.低内存闪退 获得崩溃日 ...

  10. xshell 语句

    使用命令 cd 切换到tomcat的bin目录,如:cd /root/Test_APP_Project_CRM/bin   使用命令 [ ./startup.sh ]启动tomcat服务../star ...