第一步:生成对应JAVA AES加密方法的KEY值

private static byte[] encryptJavaAes(string aesKey)
        {
            byte[] keyArray = null;
            using (var sha1 = new SHA1CryptoServiceProvider())
            {
                byte[] hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(aesKey));
                var rd = sha1.ComputeHash(hash);
                keyArray = rd.Take(16).ToArray();
                /* 将字节流转换成字符串输出
                Base64Encoder coder = new Base64Encoder();
                coder.GetEncoded(keyArray);
                 * */
            }
            return keyArray;
        }

第二步:加密对应的字符串

/// <summary>
        /// .NET对JAVA进行AES加密
        /// </summary>
        /// <param name="encryptString">需要加密的字符串</param>
        /// <returns></returns>
        private static string AESEncode(string encryptString)
        {
            if (string.IsNullOrEmpty(encryptString)) return null;
            Byte[] toEncryptArray = Encoding.UTF8.GetBytes(encryptString);
            RijndaelManaged rm = new RijndaelManaged
            {
                Key = encryptJavaAes("DCS"),//Convert.FromBase64String(encryptKey),
                Mode = CipherMode.ECB,
                Padding = PaddingMode.PKCS7
            };
            ICryptoTransform cTransform = rm.CreateEncryptor();
            Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
            return Convert.ToBase64String(resultArray, 0, resultArray.Length);
        }

第三步:解密加密的字符串

/// <summary>
        /// 解密加密的字符串
        /// </summary>
        /// <param name="toDecrypt">需要解密的字符串</param>
        /// <returns></returns>
        private static string decrypt(string toDecrypt)
        {
            string aeskey = System.Configuration.ConfigurationManager.AppSettings["aeskey"];
            byte[] keyArray = encryptJavaAes(“DCS”);//Convert.FromBase64String(key); 
            byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);
            RijndaelManaged rDel = new RijndaelManaged();
            rDel.Key = keyArray;
            rDel.Mode = CipherMode.ECB;        //必须设置为ECB
            rDel.Padding = PaddingMode.PKCS7;  //必须设置为PKCS7
            ICryptoTransform cTransform = rDel.CreateDecryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
            return UTF8Encoding.UTF8.GetString(resultArray);
        }

.NET对JAVA进行AES加密(SHA1PRNG)及解密方法相关推荐

  1. JAVA实现AES加密

    JAVA实现AES加密 java实现AES加密,直接上代码: import java.security.InvalidKeyException; import java.security.NoSuch ...

  2. java使用aes加密文件内容

    aes是什么? aes是对称加密的一种,什么是对称加密呢?就是加密和解密使用相同的秘钥的加密算法,显而易见,aes加密和md5不同,aes是可逆的,aes加密算法用于替代以前的des加密算法. 使用场 ...

  3. java php aes加密解密_php aes 加密解密可与java对接

    php aes 加密解密可与java对接 博主:liu1693 发表时间:2017-02-23 16:52:27 浏览量:100 class Encrypt{ //加密方法 public static ...

  4. Java使用AES加密解密

    AES加密机制: 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准. 这个标准用来替代原先的 ...

  5. java AES 加密和linux解密

    java AES 加密: package app;import static java.nio.charset.StandardCharsets.US_ASCII; import static jav ...

  6. java android aes加密解密_AES加密解密在JAVA和ANDROID下互通

    昨天外包安卓的那个人说AES的加解密结果不一样.于是百度搜索发现还真是! 贴上AES加密核心: Cipher cipher = Cipher.getInstance("AES/CBC/PKC ...

  7. java linux aes_java AES 加密和linux解密

    java AES 加密:package app; import static java.nio.charset.StandardCharsets.US_ASCII; import static jav ...

  8. ios java aes_PHP7 AES加密解密函数_兼容ios/andriod/java对等加解密

    **PHP7.0 7.1 7.2 7.3 AES对等加解密类 函数文件_兼容ios/andriod/java等** 由于新项目规划要求使用PHP7.2开发环境,但在部分新系统中仍需使用AES加解密方式 ...

  9. java aes 中文_java实现AES加密(解决中文解密后乱码问题,解决传输字符串后解密报错的问题)...

    在对安全性要求比较高的报文做加密的时候,算法有很多种,我这里主要用到的就是AES加密算法.由于在国内使用,所以不可避免的要对中文进行加密和解密,而在这个过程中,发现,如果不做处理,很容易会出现中文乱码 ...

最新文章

  1. 超级干货丨优美的课程笔记,吴恩达点赞的深度学习课程信息图
  2. (98)FPGA时序裕量
  3. fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
  4. SPOJ KPSUM ★(数位DP)
  5. java 获取身份证号组成信息
  6. 标签类目体系(面向业务的数据资产设计方法论)-读书笔记5
  7. chrome浏览器上传文件fakepath问题
  8. Cyclone v器件关键参数
  9. k8s-身份认证与权限
  10. 用Qt实现Q-M算法化简逻辑表达式及Qt项目打包发布方法
  11. 2019 acm-icpc 西安全国邀请赛 J
  12. 蓝牙模块惨痛教训——模块与单片机串口的隔离(更新)
  13. Squeeze-and-Excitation Networks论文翻译——中文版
  14. C#从入门到精通学习笔记——(2)
  15. 蓝桥杯练习题Java实现 入门训练 Fibonacci数列
  16. 1.python爬取笔趣阁小说
  17. Python编程:从入门到实践(读书笔记:第6章 字典)
  18. 挤一趟早/晚高峰,你能学到很多迭代的知识……敏捷|迭代的地铁模型
  19. lisp 焊缝_焊接领域中 AutoCAD的二次开发
  20. 泛目录程序上排名的核心知识

热门文章

  1. 苹果电脑怎么看系统属性?
  2. phpcms适配php5.5,phpcms升级到v9.6,有三大重要改进
  3. 轻流·无代码系统搭建平台 快速开发平台3.4.5 版本 JNPF
  4. 【51nod_1381】硬币游戏
  5. 周杰伦的第8张专辑“我很忙”即将在11月2日推出
  6. python中的sep参数_Python sep参数使用方法详解
  7. 校外培训虚假宣传投诉,中创教育建议增强维权意识
  8. 辞职信也要玩出高big
  9. Java基础知识总结(史上最全)
  10. 【无标题】动态规划leetcode浅析(一)泰波那契序列