代码之家  ›  专栏  ›  技术社区  ›  Kelvin

如何在C中使用AES加密,然后在Perl上解密?

  •  1
  • Kelvin  · 技术社区  · 16 年前

    这是我的密码。我怎样才能用Perl解密这个?或者由于openssl,我不能用perl对其进行解密?

    RijndaelManaged RijndaelAlg = new RijndaelManaged();
    FileStream fStream = File.Open(FileName, FileMode.OpenOrCreate);
    byte[] initVectorBytes = Encoding.ASCII.GetBytes("11B2c3D4e5F6g7H8");
    RijndaelAlg.IV = initVectorBytes;
    string password = "11111111";
    Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(password, Encoding.ASCII.GetBytes("22222222"));
    RijndaelAlg.Key = key.GetBytes(RijndaelAlg.KeySize / 8);
    fStream = File.Open(FileName, FileMode.OpenOrCreate);
    cStream = new CryptoStream(fStream, RijndaelAlg.CreateEncryptor(RijndaelAlg.Key, RijndaelAlg.IV), CryptoStreamMode.Write);
    StreamWriter sWriter = new StreamWriter(cStream);
    sWriter.Write(input);
    
    sWriter.Close();
    cStream.Close();
    fStream.Close();
    

    多谢。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Anon.    16 年前

    看看crypt::openssl::aes。

    当然,您的Perl代码需要以某种方式获得正确的密钥。

        2
  •  1
  •   Alexandr Ciornii    16 年前

    使用 Crypt::Rijndael 如果您使用Rijndael/CBC。或者更好地描述您的代码。