Skip to content

Commit ab3b5e6

Browse files
committed
add rsa encryption test
1 parent 01b4610 commit ab3b5e6

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
using SafeCrypt.Helpers;
2+
using SafeCrypt.RsaEncryption;
3+
using System;
4+
using System.Collections.Generic;
5+
using System.Linq;
6+
using System.Text;
7+
using System.Threading.Tasks;
8+
9+
namespace SafeCrypt.UnitTests.RsaTests;
10+
11+
public class RsaTests
12+
{
13+
[Fact]
14+
public async Task EncryptAsync_DecryptAsync_ValidParameters_ReturnsOriginalData()
15+
{
16+
// Example: Generate RSA keys
17+
var rsaKeyPair = KeyGenerators.GenerateRsaKeys(2048);
18+
string rsaPublicKey = rsaKeyPair.Item1;
19+
string rsaPrivateKey = rsaKeyPair.Item2;
20+
21+
// Arrange
22+
var model = new RsaEncryptionParameters
23+
{
24+
DataToEncrypt = "Hello, RSA!",
25+
PublicKey = rsaPublicKey
26+
};
27+
28+
// Act
29+
var encrypt = await Rsa.EncryptAsync(model);
30+
31+
var decryptModel = new RsaDecryptionParameters
32+
{
33+
DataToDecrypt = encrypt.EncryptedData,
34+
PrivateKey = rsaPrivateKey
35+
};
36+
37+
var decrypt = await Rsa.DecryptAsync(decryptModel);
38+
39+
// Assert
40+
Assert.Equal(model.DataToEncrypt, decrypt.DecryptedData);
41+
Assert.NotNull(encrypt.EncryptedData);
42+
Assert.Empty(encrypt.Errors);
43+
Assert.NotNull(decrypt.DecryptedData);
44+
Assert.Empty(decrypt.Errors);
45+
}
46+
}

0 commit comments

Comments
 (0)