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. javascript立即执行函数

    javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花;当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解.  ( ...

  2. BZOJ 1003 物流运输【最短路】【动态规划】

    这道题数据太小啦!先枚举i,j表示从第i天到第j天不更改航线的费用. 然后直接跑最短路算法(我用的是Q版男朋友算法) 动归方程显然是f[i] = min(f[i], f[j] + cost[j+1][ ...

  3. Java 枚举7常见种用法

    DK1.5引入了新的类型--枚举.在 Java 中它虽然算个"小"功能,却给我的开发带来了"大"方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是:  ...

  4. 解决OX10.11.4 不能授权的问题

    Did apple server have some maintenance? Open your Terminal and put this command sudo mkdir -p /Users ...

  5. 无法安装MVC3,错误提示:安装KB2483190(vs10-kb2483190)出错

    原文:无法安装MVC3,错误提示:安装KB2483190(vs10-kb2483190)出错 无法安装MVC3,错误提示:安装KB2483190(vs10-kb2483190)出错. 安装指导:&qu ...

  6. iOS 面试题(二):什么时候在 block 中不需要使用 weakSelf --转自唐巧

    问题 我们知道,在使用 block 的时候,为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,写下面这样的代码: __weak typeof(self) weakSelf ...

  7. ios 配置https

    一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探 其实这么做的话还是不够的 . 我们还需要防止中间人攻击(不明白的自 ...

  8. 使用Vue构建中(大)型应用

    init 首先要起一个项目,推荐用vue-cli安装 $ npm install -g vue-cli $ vue init webpack demo $ cd demo $ npm install ...

  9. 使用Docker构建redis集群--最靠谱的版本

    1集群结构说明 集群中有三个主节点,三个从节点,一共六个结点.因此要构建六个redis的docker容器.在宿主机中将这六个独立的redis结点关联成一个redis集群.需要用到官方提供的ruby脚本 ...

  10. paper 131:【图像算法】图像特征:GLCM【转载】

    转载地址:http://www.cnblogs.com/skyseraph/archive/2011/08/27/2155776.html 一 原理 1 概念:GLCM,即灰度共生矩阵,GLCM是一个 ...