Skip to content

Commit cb3f176

Browse files
authored
Merge pull request #16 from myloveCc/dev
Add aes encrypt and decrypt test with file.
2 parents 71db46e + f0acc4d commit cb3f176

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

test/NETCore.Encrypt.Tests/AES_Tests.cs

+47
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.IO;
34
using System.Text;
45
using Xunit;
56

@@ -187,5 +188,51 @@ public void Aes_Decrypt_With_ErrorIV_Fail_Test()
187188
//Assert
188189
Assert.Throws<ArgumentOutOfRangeException>(() => EncryptProvider.AESDecrypt(srcString, key, iv));
189190
}
191+
192+
[Fact(DisplayName = "AES encrypt and decrypt about file stream")]
193+
public void Aes_File_Test()
194+
{
195+
var rootDir = Path.Combine(AppContext.BaseDirectory, "Assets");
196+
if (!Directory.Exists(rootDir))
197+
{
198+
Directory.CreateDirectory(rootDir);
199+
}
200+
201+
var file = Path.Combine(rootDir, "AES_File_Test.txt");
202+
if (!File.Exists(file))
203+
{
204+
using (var fileStream = File.OpenWrite(file))
205+
{
206+
var tempDatas = Encoding.UTF8.GetBytes("May be you shoud get all the buffer of file,and then decrypt by EncryptProvider.");
207+
fileStream.Write(tempDatas, 0, tempDatas.Length);
208+
}
209+
}
210+
211+
var aesKey = EncryptProvider.CreateAesKey();
212+
213+
//encrypt
214+
var text = File.ReadAllText(file);
215+
var datas = File.ReadAllBytes(file);
216+
217+
var encryptedDatas = EncryptProvider.AESEncrypt(datas, aesKey.Key, aesKey.IV);
218+
var encryptedFile = Path.Combine(rootDir, "AES_File_Test_Encrypted.txt");
219+
220+
using (var fileStream = File.OpenWrite(encryptedFile))
221+
{
222+
fileStream.Write(encryptedDatas, 0, encryptedDatas.Length);
223+
}
224+
225+
//decrypt
226+
var encryptedFileDatas = File.ReadAllBytes(encryptedFile);
227+
var decryptedDatas = EncryptProvider.AESDecrypt(encryptedFileDatas, aesKey.Key, aesKey.IV);
228+
229+
var decryptedText = Encoding.UTF8.GetString(decryptedDatas);
230+
231+
//assert
232+
Assert.NotNull(decryptedDatas);
233+
Assert.Equal(decryptedText, text);
234+
235+
236+
}
190237
}
191238
}

0 commit comments

Comments
 (0)