aboutsummaryrefslogtreecommitdiffstats
path: root/src/IOL.VippsEcommerce/Helpers.cs
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-01-30 01:41:08 +0100
committerivarlovlie <git@ivarlovlie.no>2022-01-30 01:41:08 +0100
commit36afcdf0988e753ae2178fb8220b02f2c4d0b2b2 (patch)
treed27cb629cd53eeef6737ddc86915d51a9ac4b9c3 /src/IOL.VippsEcommerce/Helpers.cs
parentbbe0fb036a790b6a23a478d3f047add63b3b07a6 (diff)
downloaddotnet-vipps-ecommerce-36afcdf0988e753ae2178fb8220b02f2c4d0b2b2.tar.xz
dotnet-vipps-ecommerce-36afcdf0988e753ae2178fb8220b02f2c4d0b2b2.zip
refactor: Convert solution for file-scoped namespaces
Diffstat (limited to 'src/IOL.VippsEcommerce/Helpers.cs')
-rw-r--r--src/IOL.VippsEcommerce/Helpers.cs121
1 files changed, 60 insertions, 61 deletions
diff --git a/src/IOL.VippsEcommerce/Helpers.cs b/src/IOL.VippsEcommerce/Helpers.cs
index f7645a5..7e61181 100644
--- a/src/IOL.VippsEcommerce/Helpers.cs
+++ b/src/IOL.VippsEcommerce/Helpers.cs
@@ -4,82 +4,81 @@ using System.Linq;
using System.Security.Cryptography;
using System.Text;
-namespace IOL.VippsEcommerce
+namespace IOL.VippsEcommerce;
+
+internal static class Helpers
{
- internal static class Helpers
- {
- private const int AES_BLOCK_BYTE_SIZE = 128 / 8;
- private static readonly RandomNumberGenerator _random = RandomNumberGenerator.Create();
+ private const int AES_BLOCK_BYTE_SIZE = 128 / 8;
+ private static readonly RandomNumberGenerator _random = RandomNumberGenerator.Create();
- public static bool IsNullOrWhiteSpace(this string value) => string.IsNullOrWhiteSpace(value);
- public static bool IsPresent(this string value) => !string.IsNullOrWhiteSpace(value);
+ public static bool IsNullOrWhiteSpace(this string value) => string.IsNullOrWhiteSpace(value);
+ public static bool IsPresent(this string value) => !string.IsNullOrWhiteSpace(value);
- public static bool IsDirectoryWritable(this string dirPath, bool throwIfFails = false) {
- try {
- using (var fs = File.Create(Path.Combine(dirPath, Path.GetRandomFileName()),
- 1,
- FileOptions.DeleteOnClose)
- ) { }
+ public static bool IsDirectoryWritable(this string dirPath, bool throwIfFails = false) {
+ try {
+ using (var fs = File.Create(Path.Combine(dirPath, Path.GetRandomFileName()),
+ 1,
+ FileOptions.DeleteOnClose)
+ ) { }
- return true;
- } catch {
- if (throwIfFails)
- throw;
+ return true;
+ } catch {
+ if (throwIfFails)
+ throw;
- return false;
- }
+ return false;
}
+ }
- //https://tomrucki.com/posts/aes-encryption-in-csharp/
- public static string EncryptWithAes(this string toEncrypt, string password) {
- var key = GetKey(password);
+ //https://tomrucki.com/posts/aes-encryption-in-csharp/
+ public static string EncryptWithAes(this string toEncrypt, string password) {
+ var key = GetKey(password);
- using var aes = CreateAes();
- var iv = GenerateRandomBytes(AES_BLOCK_BYTE_SIZE);
- var plainText = Encoding.UTF8.GetBytes(toEncrypt);
+ using var aes = CreateAes();
+ var iv = GenerateRandomBytes(AES_BLOCK_BYTE_SIZE);
+ var plainText = Encoding.UTF8.GetBytes(toEncrypt);
- using var encryptor = aes.CreateEncryptor(key, iv);
- var cipherText = encryptor
- .TransformFinalBlock(plainText, 0, plainText.Length);
+ using var encryptor = aes.CreateEncryptor(key, iv);
+ var cipherText = encryptor
+ .TransformFinalBlock(plainText, 0, plainText.Length);
- var result = new byte[iv.Length + cipherText.Length];
- iv.CopyTo(result, 0);
- cipherText.CopyTo(result, iv.Length);
+ var result = new byte[iv.Length + cipherText.Length];
+ iv.CopyTo(result, 0);
+ cipherText.CopyTo(result, iv.Length);
- return Convert.ToBase64String(result);
- }
+ return Convert.ToBase64String(result);
+ }
- private static Aes CreateAes() {
- var aes = Aes.Create();
- aes.Mode = CipherMode.CBC;
- aes.Padding = PaddingMode.PKCS7;
- return aes;
- }
+ private static Aes CreateAes() {
+ var aes = Aes.Create();
+ aes.Mode = CipherMode.CBC;
+ aes.Padding = PaddingMode.PKCS7;
+ return aes;
+ }
- public static string DecryptWithAes(this string input, string password) {
- var key = GetKey(password);
- var encryptedData = Convert.FromBase64String(input);
+ public static string DecryptWithAes(this string input, string password) {
+ var key = GetKey(password);
+ var encryptedData = Convert.FromBase64String(input);
- using var aes = CreateAes();
- var iv = encryptedData.Take(AES_BLOCK_BYTE_SIZE).ToArray();
- var cipherText = encryptedData.Skip(AES_BLOCK_BYTE_SIZE).ToArray();
+ using var aes = CreateAes();
+ var iv = encryptedData.Take(AES_BLOCK_BYTE_SIZE).ToArray();
+ var cipherText = encryptedData.Skip(AES_BLOCK_BYTE_SIZE).ToArray();
- using var decryptor = aes.CreateDecryptor(key, iv);
- var decryptedBytes = decryptor
- .TransformFinalBlock(cipherText, 0, cipherText.Length);
- return Encoding.UTF8.GetString(decryptedBytes);
- }
+ using var decryptor = aes.CreateDecryptor(key, iv);
+ var decryptedBytes = decryptor
+ .TransformFinalBlock(cipherText, 0, cipherText.Length);
+ return Encoding.UTF8.GetString(decryptedBytes);
+ }
- private static byte[] GetKey(string password) {
- var keyBytes = Encoding.UTF8.GetBytes(password);
- using var md5 = MD5.Create();
- return md5.ComputeHash(keyBytes);
- }
+ private static byte[] GetKey(string password) {
+ var keyBytes = Encoding.UTF8.GetBytes(password);
+ using var md5 = MD5.Create();
+ return md5.ComputeHash(keyBytes);
+ }
- private static byte[] GenerateRandomBytes(int numberOfBytes) {
- var randomBytes = new byte[numberOfBytes];
- _random.GetBytes(randomBytes);
- return randomBytes;
- }
+ private static byte[] GenerateRandomBytes(int numberOfBytes) {
+ var randomBytes = new byte[numberOfBytes];
+ _random.GetBytes(randomBytes);
+ return randomBytes;
}
-}
+} \ No newline at end of file