Last active
February 28, 2019 19:01
-
-
Save FusRoDah061/cc687ef374a4bc630757d754db04960f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Crypt | |
{ | |
public string SHA1(string input) | |
{ | |
using (SHA1Managed sha1 = new SHA1Managed()) | |
{ | |
var hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(input)); | |
var sb = new StringBuilder(hash.Length * 2); | |
foreach (byte b in hash) | |
{ | |
sb.Append(b.ToString("x2")); | |
} | |
return sb.ToString(); | |
} | |
} | |
public string SHA256(string input) | |
{ | |
using (SHA256Managed sha256 = new SHA256Managed()) | |
{ | |
var hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(input)); | |
var sb = new StringBuilder(); | |
foreach (byte b in hash) | |
{ | |
sb.Append(b.ToString("x2")); | |
} | |
return sb.ToString(); | |
} | |
} | |
public string MD5(string input) | |
{ | |
MD5CryptoServiceProvider m = new MD5CryptoServiceProvider(); | |
byte[] hash = m.ComputeHash(Encoding.UTF8.GetBytes(input)); | |
var sb = new StringBuilder(hash.Length * 2); | |
foreach (byte b in hash) | |
{ | |
sb.Append(b.ToString("x2")); | |
} | |
return sb.ToString(); | |
} | |
public string Base64Encode(string plainText) | |
{ | |
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText); | |
return System.Convert.ToBase64String(plainTextBytes); | |
} | |
public string Base64Decode(string base64EncodedData) | |
{ | |
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData); | |
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes); | |
} | |
public byte[] EncryptDataOaepSha1(X509Certificate2 cert, byte[] data) | |
{ | |
using (RSA rsa = cert.GetRSAPublicKey()) | |
{ | |
return rsa.Encrypt(data, RSAEncryptionPadding.OaepSHA1); | |
} | |
} | |
public byte[] DecryptDataOaepSha1(X509Certificate2 cert, byte[] data) | |
{ | |
using (RSA rsa = cert.GetRSAPrivateKey()) | |
{ | |
return rsa.Decrypt(data, RSAEncryptionPadding.OaepSHA1); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment