我正在尝试使用C#代码解密(使用DES算法)来自第三方的数据。这里和其他地方有很多例子可以帮助我。问题是我不知道用于“初始化向量”的内容。
第三方提供了一个在命令行上使用的工具(DES.EXE,我认为它是libdes库v4.01的开箱即用版本),它只需要你提供一个加密密钥。所以,我可以使用该工具解密。但是,我宁愿不从我的代码中生成一个运行该工具的进程。
我的问题是如何生成/找到初始化向量。我99.9%肯定可以通过查看其他帖子来完成,但我无法弄明白。我和第三方谈过,他们说他们不支持这种做法。任何帮助将不胜感激。
答案 0 :(得分:1)
您可能没有初始化向量。只需传入 null 一个零的数组,用于CreateDecryptor的初始化向量:
byte[] iv = new byte[] {0, 0, 0, 0, 0, 0, 0, 0};
des.CreateDecryptor(key, iv);
编辑:我错了,它是零IV,而不是空。