编程语言
首页 > 编程语言> > c# – 在实现Rijndael解密时是否可以不使用IV?

c# – 在实现Rijndael解密时是否可以不使用IV?

作者:互联网

我正在使用Rijndael的算法实现密文解密.不幸的是,我无法访问数据加密,只提供了密码(生成密钥)和算法类型.

我没有盐(似乎没问题),我没有IV.现在,我的问题是我是否必须使用IV来执行解密?我怀疑编写加密的开发人员没有使用盐或IV(如果这是可能的话).

我试图将IV设置为null,没有运气,并且生成Rijndael实例会创建一个默认IV,这会在解密后扭曲我明文的前16个字符.

有没有办法否定IV的影响?或者是否需要尝试获取加密中使用的IV?

解决方法:

如果密码已被用于在CBC模式下加密(is the default),那么你必须知道IV,没有办法解决它.

但是,由于IV的目的与密码的目的不同,有时您会发现IV加密数据前置(以便收件人可以轻松抓取它以便在解密时使用).

标签:c,encryption,rijndael
来源: https://codeday.me/bug/20190613/1235978.html