和某上市公司对接接口,他们试用 java AES CBC PKCS5 256 加解密。网上C# 基本不合适。

注意:C# PKCS7 对应 java PKCS5

 /// <summary>
/// AES加密
/// </summary>
/// <param name="encryptStr">明文</param>
/// <param name="key">密钥</param>
/// <returns></returns>
protected string Encrypt(string encryptStr, string key)
{
var _aes = new AesCryptoServiceProvider();
_aes.BlockSize = ;
_aes.KeySize = ;
_aes.Key = Encoding.UTF8.GetBytes(key);
_aes.IV = (byte[])(object)new sbyte[];//Encoding.UTF8.GetBytes(IV);
_aes.Padding = PaddingMode.PKCS7;
_aes.Mode = CipherMode.CBC; var _crypto = _aes.CreateEncryptor(_aes.Key, _aes.IV);
byte[] encrypted = _crypto.TransformFinalBlock(Encoding.UTF8.GetBytes(encryptStr), , Encoding.UTF8.GetBytes(encryptStr).Length); _crypto.Dispose(); return System.Convert.ToBase64String(encrypted);
}
 /// <summary>
/// AES解密
/// </summary>
/// <param name="decryptStr">密文</param>
/// <param name="key">密钥</param>
/// <returns></returns>
protected string Decrypt(string decryptStr, string key)
{
var _aes = new AesCryptoServiceProvider();
_aes.BlockSize = ;
_aes.KeySize = ;
_aes.Key = Encoding.UTF8.GetBytes(key);
_aes.IV = (byte[])(object)new sbyte[];//Encoding.UTF8.GetBytes(IV);
_aes.Padding = PaddingMode.PKCS7;
_aes.Mode = CipherMode.CBC; var _crypto = _aes.CreateDecryptor(_aes.Key, _aes.IV);
byte[] decrypted = _crypto.TransformFinalBlock(
System.Convert.FromBase64String(decryptStr), , System.Convert.FromBase64String(decryptStr).Length);
_crypto.Dispose();
return Encoding.UTF8.GetString(decrypted);
}

C# AESCBC256 与 java AESCBC256 加解密的更多相关文章

  1. Java Des加解密方法(c#加密Java解密)

    最近我们用Java把一个用.net编写的老系统重新做了翻版,但是登录还是用.net的登录.这样就会遇到一个比较棘手的问题,我们登录用的cookie信息都是.net用des加密的,但我们不得不用Java ...

  2. 两种JavaScript的AES加密方式(可与Java相互加解密)

    由于JavaScript属于弱类型脚本语言,因此当其与强类型的后台语言进行数据交互时会产生各种问题,特别是加解密的操作.本人由于工作中遇到用js与Java进行相互加解密的问题,在网上查了很多资料及代码 ...

  3. java RSA加解密以及用途

    在公司当前版本的中间件通信框架中,为了防止非授权第三方和到期客户端的连接,我们通过AES和RSA两种方式的加解密策略进行认证.对于非对称RSA加解密,因为其性能耗费较大,一般仅用于认证连接,不会用于每 ...

  4. DES 算法的 C++ 与 JAVA 互相加解密

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

  5. 记一次Java AES 加解密 对应C# AES加解密 的一波三折

    最近在跟三方对接 对方采用AES加解密 作为一个资深neter Ctrl CV 是我最大的优点 所以我义正言辞的问他们要了demo java demo代码: public class EncryptD ...

  6. java AES加解密

    AES加解密工具类 package com.yan.demo; import org.apache.commons.lang3.StringUtils; import sun.misc.BASE64D ...

  7. java base64加解密

    接上篇java Base64算法. 根据之前过程使用base64加解密,所以写成了工具类. 代码示例; public class Base64Util { private static Logger ...

  8. 学习Java AES加解密字符串和文件方法,然后写个简单工具类

    Reference Core Java Volume Ⅱ 10th Edition 1 对称加密 "Java密码扩展"包含了一个Cipher,它是所有密码算法的超类.通过getIn ...

  9. Java DES 加解密文件

    import com.mchange.v2.io.DirectoryDescentUtils; import javax.crypto.Cipher;import javax.crypto.Ciphe ...

随机推荐

  1. 对js中闭包,作用域,原型的理解

    前几天,和朋友聊天,聊到一些js的基础的时候,有一种‘好像知道,好像又不不知道怎么讲的感觉’...于是捡起书,自己理一理,欢迎拍砖. 闭包 理解闭包首先要理解,js垃圾回收机制,也就是当一个函数被执行 ...

  2. BCrypt实现密码的加密

    这里设计到一个新的知识点,下来准备找找资料学习一下:Spring Security 我们都知道,密码这种东西存到数据库是不能以明文直接存入的,而是要经过加密,而且加密还颇多讲究 比如以前的 MD5加密 ...

  3. 分布式文件系统 / MQ / 鉴权(轮廓)

    FastDFS的轮廓   /  RabbitMQ的轮廓  /  JWT和RSA非对称加密的轮廓

  4. Java 11 究竟比 8 快了多少?

    阅读本文大概需要 1.2 分钟. 作者:h4cd 来源:开源中国社区 开源规划调度引擎 OptaPlanner 官网发布了一个 Java 11 GC 性能基准测试报告. 当前使用量最大的 Java 版 ...

  5. MySQL 每秒 570000 的写入,如何实现?

    阅读本文大概需要 2.8 分钟. 来源:http://t.cn/E2TbCg5 一.需求 一个朋友接到一个需求,从大数据平台收到一个数据写入在20亿+,需要快速地加载到MySQL中,供第二天业务展示使 ...

  6. springBoot(6)---过滤器,监听器,拦截器

    过滤器,监听器,拦截器 一.理解它们 看里十几篇博客,总算有点小明白,总的来讲,两张图可以让我看明白点. 通过两幅图我们可以理解拦截器和过滤器的特点 1.过滤器 过滤器是在请求进入tomcat容器后, ...

  7. python通过snmp协议运用多线程获取多台主机网卡信息,写入数据库

    #-*- coding:utf-8 -*- import netsnmp class SnmpClass(object): """ SNMP ""&q ...

  8. Android--Service之AIDL传递复杂对象

    前言 Android的AIDL不仅可以在绑定服务中传递一些Android规定的数据类型的数据,还可以传递一些复杂类型的数据.但是与传递系统允许的数据类型相比,复杂类型数据的传递要做更多的工作,本篇博客 ...

  9. Microsoft解读

    微软-这个在软件行业影响着我们这个时代 我们所了解的微软或许只在于windows操作系统和office办公软件.但是我们如果只这样认为,那就大错特错了,微软能成为全球互联网巨头,并不是那么简单.今天我 ...

  10. ReentrantLock 详解

    ReentrantLock的功能是实现代码段的并发访问控制,也就是通常意义上所说的锁,java中实现锁有两种方式,一种是本文所提的ReentrantLock,另一种是synchronized.Reen ...