52 lines
1.5 KiB
C#
52 lines
1.5 KiB
C#
using System.Security.Cryptography;
|
|
using System.Text;
|
|
|
|
namespace DA_Assets.Extensions
|
|
{
|
|
public static class CryptoExtensions
|
|
{
|
|
public static string CreateShortGuid(this string value, out string result)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(value))
|
|
value = System.Guid.NewGuid().ToString().Split('-')[0];
|
|
|
|
result = value;
|
|
return value;
|
|
}
|
|
|
|
public static byte[] GetSHA1Hash(this string value)
|
|
{
|
|
byte[] bytes = Encoding.UTF8.GetBytes(value);
|
|
using (SHA1 sha1 = SHA1.Create())
|
|
{
|
|
byte[] result = sha1.ComputeHash(bytes);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public static string ToHEX(this byte[] bytes)
|
|
{
|
|
StringBuilder buffer = new StringBuilder(bytes.Length * 2);
|
|
foreach (var byt in bytes)
|
|
{
|
|
buffer.Append(byt.ToString("X2"));
|
|
}
|
|
|
|
return buffer.ToString();
|
|
}
|
|
|
|
public static string Base64Decode(this string base64EncodedData)
|
|
{
|
|
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
|
|
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
|
|
}
|
|
|
|
public static string Base64Encode(this string plainText)
|
|
{
|
|
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
|
|
return System.Convert.ToBase64String(plainTextBytes);
|
|
}
|
|
|
|
}
|
|
}
|