patbef-ServiceOutside/ServiceOutsideTests/Crypto/AES.cs

58 lines
2.1 KiB
C#
Raw Normal View History

2024-01-29 16:27:34 +01:00
using NUnit.Framework;
using System;
using System.Security.Cryptography;
using System.Text;
namespace ServiceOutsideTests.Crypto
{
public class AES
{
[Test]
public void EncryptPasswordShort32Length()
{
byte[] key = ServiceShared.Crypto.AES.GetKey("a");
string input = "Befundapp";
string encrypted = ServiceShared.Crypto.AES.Encrypt(input, key);
string decrypted = ServiceShared.Crypto.AES.Decrypt(encrypted, key);
Assert.AreEqual(input, decrypted);
}
[Test]
public void EncryptPasswordLong32Length()
{
byte[] key = ServiceShared.Crypto.AES.GetKey("a dasdas djakl jdklas jdlkjakldhsajkdhsakdhkajhdkjgahkdgsagdas gdj sadag jdsaj gdg jasdagj dgsa gdsa dsga dgsja gdjagdgasj gjhdga gdja");
string input = "Hello World";
string encrypted = ServiceShared.Crypto.AES.Encrypt(input, key);
string decrypted = ServiceShared.Crypto.AES.Decrypt(encrypted, key);
Assert.AreEqual(input, decrypted);
}
[Test]
public void EncryptDecrypt()
{
for(int i = 0; i < 1000; i++)
{
int KeySize = new Random().Next(1, 4096);
byte[] random = new byte[KeySize];
RandomNumberGenerator.Fill(random);
string key = Encoding.UTF8.GetString(random);
string input = "Hello World";
string encrypted = ServiceShared.Crypto.AES.Encrypt(input, ServiceShared.Crypto.AES.GetKey(key));
string decrypted = ServiceShared.Crypto.AES.Decrypt(encrypted, ServiceShared.Crypto.AES.GetKey(key));
Assert.AreEqual(input, decrypted);
}
}
[Test]
public void EncryptDecryptFixedValues()
{
string input = "Hello World";
string encrypted = "JWHs6itvC1ncFamZFGOl8npLNCZAP2Vg/9jUPfRK8ORH0kJxOYGW";
byte[] key = ServiceShared.Crypto.AES.GetKey("1");
string decrypted = ServiceShared.Crypto.AES.Decrypt(encrypted, key);
Assert.AreEqual(input, decrypted);
}
}
}