Skip to content

Commit

Permalink
Add IsEncrypted method (#45)
Browse files Browse the repository at this point in the history
  • Loading branch information
truongtphat authored Sep 17, 2024
1 parent 712f1fb commit 97badb5
Showing 1 changed file with 34 additions and 5 deletions.
39 changes: 34 additions & 5 deletions src/mix.heart/Helpers/AesEncryptionHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ public static string EncryptString(string text, string iCompleteEncodedKey, Enco
{
return default;
}

string[] keyStrings =
Encoding.UTF8.GetString(Convert.FromBase64String(iCompleteEncodedKey))
.Split(',');
Expand All @@ -32,14 +33,15 @@ public static string DecryptString(string cipherText, string iCompleteEncodedKey
return DecryptString(cipherText, key, iv, encoding ?? Encoding.UTF8);
}

public static string EncryptString(string text, string keyString, string ivString,Encoding encoding = default)
public static string EncryptString(string text, string keyString, string ivString, Encoding encoding = default)
{
var iv = Encoding.UTF8.GetBytes(ivString);
var key = Encoding.UTF8.GetBytes(keyString);
return EncryptString(text, key, iv, encoding ?? Encoding.UTF8);
}

public static string DecryptString(string cipherText, string keyString, string ivString, Encoding encoding = default)
public static string DecryptString(string cipherText, string keyString, string ivString,
Encoding encoding = default)
{
var iv = Encoding.UTF8.GetBytes(ivString);
var key = Encoding.UTF8.GetBytes(keyString);
Expand All @@ -63,12 +65,12 @@ private static string EncryptString(string plainText, byte[] key, byte[] iv, Enc
{
swEncrypt.Write(plainText);
}

cipherText = msEncrypt.ToArray();
}
}
return Convert.ToBase64String(cipherText);


return Convert.ToBase64String(cipherText);
}

private static string DecryptString(string cipherText, byte[] key, byte[] iv, Encoding encoding)
Expand Down Expand Up @@ -100,5 +102,32 @@ public static string GenerateCombinedKeys()

return Convert.ToBase64String(Encoding.UTF8.GetBytes(completeKey));
}

public static bool IsEncrypted(string input, string iCompleteEncodedKey)
{
if (string.IsNullOrWhiteSpace(input))
{
return false;
}

try
{
var cipherBytes = Convert.FromBase64String(input);
}
catch (FormatException)
{
return false;
}

try
{
DecryptString(input, iCompleteEncodedKey);
return true;
}
catch
{
return false;
}
}
}
}
}

0 comments on commit 97badb5

Please sign in to comment.