基于AES的分段文件加密Demo
GitHub仓库:
https://github.com/970424424/AES-File-EnDecryptor-Writed-by-CSharp
下载后使用Visual Studio打开即可。此方法已经经过了N次测试,文件加密解密完全可以使用。
AES文件加密类使用的是网上流传的AES加密类,并非我所写;AES类文件已经上传到CDN中,下载地址;
http://csdn-1252047526.cossh.myqcloud.com/AES.cs
使用密码(byte[]型)构造AES类后,使用Cipher方法加密比特流,使InvCipher方法解密比特流。
demo引用了跳过机制:加密一小段文件,再跳过一小段文件(直接复制),然后再加密一段文件,循环往复。
此方法可以大幅缩减加密解密所需要的时间,对于不需要细致加密的用户非常实用。不需要跳过的话,直接将SkipSize赋值为零即可。
单次加密的byte[]量必须是16位(_BlockSize = 16),否则输出的文件无法解密。
文件名加密以及Key、IV的获取:
public class Security
{
public static byte[] IV
{
get
{
return new byte[] { 0x21, 0x35, 0x51, 0x7B, 0x90, 0xCD, 0x1A, 0xDF, 0x2C, 0x15, 0x12, 0x97, 0x9A, 0xA2, 0x7C, 0xD7 };
}
}
private static byte[] Key
{
get
{
return new byte[] {