kelvin1757 2016-07-30 01:00 采纳率: 0%
浏览 2192

c#和java aes加密互通的问题

c#段的代码是这样的:
public static string AESEncrypt(string EncryptString)
{

        if (string.IsNullOrEmpty(EncryptString)) { throw (new Exception("密文不得为空")); }
        if (string.IsNullOrEmpty(EncryptKey1)) { throw (new Exception("密钥不得为空")); }

        string m_strEncrypt = "";



        byte[] m_btIV = Convert.FromBase64String("Rkb4jvUy/ye7Cd7k89QQgQ==");



        Rijndael m_AESProvider = Rijndael.Create();



        try
        {

            byte[] m_btEncryptString = Encoding.Default.GetBytes(EncryptString);



            MemoryStream m_stream = new MemoryStream();



            CryptoStream m_csstream = new CryptoStream(m_stream, m_AESProvider.CreateEncryptor(Encoding.Default.GetBytes(EncryptKey1), m_btIV), CryptoStreamMode.Write);



            m_csstream.Write(m_btEncryptString, 0, m_btEncryptString.Length); m_csstream.FlushFinalBlock();



            m_strEncrypt = Convert.ToBase64String(m_stream.ToArray());



            m_stream.Close(); m_stream.Dispose();



            m_csstream.Close(); m_csstream.Dispose();

        }

        catch (IOException ex) { throw ex; }

        catch (CryptographicException ex) { throw ex; }

        catch (ArgumentException ex) { throw ex; }

        catch (Exception ex) { throw ex; }

        finally { m_AESProvider.Clear(); }



        return m_strEncrypt;

    }

        请问用java怎么实现加密,得到的加密后的结果一致
  • 写回答

2条回答 默认 最新

  • Robot-C 2016-07-30 01:11
    关注

    首先通过了解JAVA和C#的实现了解到c#默认运算模式为CBCjava默认为ECB 所以我们第一步算法是要 修改为一致的运算模式 我们采用 ECB 因为 ECB 不需要 IV 然后 在对KEY上  他们要求的是6 16 或24位,以往的做法是使用随机强加密随机数生成器!~因为这个很难做到互通 所以我采用了一种很简单的方式就是使用 MD5 短16位 好了上......
    答案就在这里:关于JAVA和C#的AES + Base64加密互通!~
    ----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100