C# 加密和解密时是否需要使用初始化向量?
我是C#的新手,我的任务是加密C#中的文件并将其放到服务器上(提到使用256位AES加密)。无论谁想要它,他们都应该先解密,然后使用它 但我对此有一些疑问:我正在使用AESCryptServiceProvider类。因为我使用的方法是C# 加密和解密时是否需要使用初始化向量?,c#,encryption-symmetric,C#,Encryption Symmetric,我是C#的新手,我的任务是加密C#中的文件并将其放到服务器上(提到使用256位AES加密)。无论谁想要它,他们都应该先解密,然后使用它 但我对此有一些疑问:我正在使用AESCryptServiceProvider类。因为我使用的方法是CreateEncryptor(Byte[],Byte[])。但我想问的问题是,如果我使用key和IV对文件进行加密,那么我必须使用user key和IV共享这两个密钥 在这种情况下我该怎么办?我希望在加密和解密时只使用密钥。我该怎么做 我对此完全感到困惑。请建议我
CreateEncryptor(Byte[],Byte[])
。但我想问的问题是,如果我使用key和IV对文件进行加密,那么我必须使用user key和IV共享这两个密钥
在这种情况下我该怎么办?我希望在加密和解密时只使用密钥。我该怎么做
我对此完全感到困惑。请建议我走几步
谢谢据我所知,IV不需要保密,因此您可以将其与加密数据一起存储在服务器上。只需确保每一次静脉注射都是随机的,并且不要重复使用 有关IV的更多详细信息,请参见此处:
嘿,伙计们,还有什么办法可以避免使用静脉注射吗?给我的指示是不要使用静脉注射。还有没有办法避免使用静脉注射?给我的指示是不要使用IV@BhaveshShah使用AESCryptServiceProvider类无法避免IV,但您从何处获得IV(唯一或不唯一)取决于您自己。如果你不使用唯一的IVs,你的加密数据将很容易解密。一个简短的(可选的)IV是WEP如此容易被破解的原因之一。谢谢你们的回复。我想再问一个问题,C#中的哪门课能帮助我跳过使用IV??你能告诉我吗?@BhaveshShah据我所知,没有这方面的课程。你需要用静脉注射的方法。如果安全性不是那么重要,您可以尝试其他加密/模糊数据的方法。