C#加密整理
来源:互联网 发布:过期未注册域名查询 编辑:程序博客网 时间:2024/05/01 00:26
MD5
public static string Md5Encrypt(string sourceString,Encoding enc = null)
{
if(enc==null) enc=Encoding.UTF8;
var buffer = MD5.Create().ComputeHash(enc.GetBytes(sourceString));
var builder = new StringBuilder();
foreach(var t in buffer)
{
builder.Append(t.ToString("x").PadLeft(2,'0'));
}
return builder.ToString();
}
MD5加密后Bsae64加密
public static string Md5ByteEncrypt(string sourceString, Encoding enc = null)
{
if (enc == null) enc = Encoding.UTF8;
var buffer = MD5.Create().ComputeHash(enc.GetBytes(sourceString));
var SignBytesStr = Convert.ToBase64String(buffer);
var builder = new StringBuilder();
//foreach(var t in buffer)
//{
// builder.Append(t.ToString("x").PadLeft(2,'0'));
//}
//return builder.ToString();
return SignBytesStr;
}
SHA1
public static string SHA256Encrypt(string str) {
byte[] StrRes = Encoding.Default.GetBytes(str);
HashAlgorithm iSHA = new SHA1CryptoServiceProvider();
StrRes = iSHA.ComputeHash(StrRes);
StringBuilder EnText = new StringBuilder();
foreach (byte iByte in StrRes)
{
EnText.AppendFormat("{0:x2}", iByte);
}
return EnText.ToString();
}
SHA256
public static string SHA256Encrypt(string str) {
byte[] StrRes = Encoding.Default.GetBytes(str);
HashAlgorithm iSHA = new SHA256CryptoServiceProvider();
StrRes = iSHA.ComputeHash(StrRes);
StringBuilder EnText = new StringBuilder();
foreach (byte iByte in StrRes)
{
EnText.AppendFormat("{0:x2}", iByte);
}
return EnText.ToString();
}
RSA加密
public static string RSAEncrypt(string publickey, string content)
{
using (RSACryptoServiceProvider RSACryptography = new RSACryptoServiceProvider())
{
try {
Byte[] PlaintextData = Encoding.UTF8.GetBytes(content);
RSACryptography.FromXmlString(publickey);
int MaxBlockSize = RSACryptography.KeySize / 8 - 11; //加密块最大长度限制
if (PlaintextData.Length <= MaxBlockSize)
return Convert.ToBase64String(RSACryptography.Encrypt(PlaintextData, false));
using (MemoryStream PlaiStream = new MemoryStream(PlaintextData))
using (MemoryStream CrypStream = new MemoryStream())
{
Byte[] Buffer = new Byte[MaxBlockSize];
int BlockSize = PlaiStream.Read(Buffer, 0, MaxBlockSize);
while (BlockSize > 0)
{
Byte[] ToEncrypt = new Byte[BlockSize];
Array.Copy(Buffer, 0, ToEncrypt, 0, BlockSize);
Byte[] Cryptograph = RSACryptography.Encrypt(ToEncrypt, false);
CrypStream.Write(Cryptograph, 0, Cryptograph.Length);
BlockSize = PlaiStream.Read(Buffer, 0, MaxBlockSize);
}
return Convert.ToBase64String(CrypStream.ToArray(), Base64FormattingOptions.None);
}
}
catch (Exception e) {
return "";
}
}
}
//C#的RSA私钥签名代码如:
public static string RSASignData(string privatekey, string content)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] cipherbytes;
rsa.FromXmlString(privatekey);
cipherbytes = rsa.SignData(Encoding.UTF8.GetBytes(content), "SHA1");
return Convert.ToBase64String(cipherbytes);
}
//C#的RSA公钥验证代码如:
public static bool RSAVerifyData(string publickey, string content, string sign)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(publickey);
return rsa.VerifyData(Encoding.UTF8.GetBytes(content), "SHA1", Convert.FromBase64String(sign));
}
public static string Md5Encrypt(string sourceString,Encoding enc = null)
{
if(enc==null) enc=Encoding.UTF8;
var buffer = MD5.Create().ComputeHash(enc.GetBytes(sourceString));
var builder = new StringBuilder();
foreach(var t in buffer)
{
builder.Append(t.ToString("x").PadLeft(2,'0'));
}
return builder.ToString();
}
MD5加密后Bsae64加密
public static string Md5ByteEncrypt(string sourceString, Encoding enc = null)
{
if (enc == null) enc = Encoding.UTF8;
var buffer = MD5.Create().ComputeHash(enc.GetBytes(sourceString));
var SignBytesStr = Convert.ToBase64String(buffer);
var builder = new StringBuilder();
//foreach(var t in buffer)
//{
// builder.Append(t.ToString("x").PadLeft(2,'0'));
//}
//return builder.ToString();
return SignBytesStr;
}
SHA1
public static string SHA256Encrypt(string str) {
byte[] StrRes = Encoding.Default.GetBytes(str);
HashAlgorithm iSHA = new SHA1CryptoServiceProvider();
StrRes = iSHA.ComputeHash(StrRes);
StringBuilder EnText = new StringBuilder();
foreach (byte iByte in StrRes)
{
EnText.AppendFormat("{0:x2}", iByte);
}
return EnText.ToString();
}
SHA256
public static string SHA256Encrypt(string str) {
byte[] StrRes = Encoding.Default.GetBytes(str);
HashAlgorithm iSHA = new SHA256CryptoServiceProvider();
StrRes = iSHA.ComputeHash(StrRes);
StringBuilder EnText = new StringBuilder();
foreach (byte iByte in StrRes)
{
EnText.AppendFormat("{0:x2}", iByte);
}
return EnText.ToString();
}
RSA加密
public static string RSAEncrypt(string publickey, string content)
{
using (RSACryptoServiceProvider RSACryptography = new RSACryptoServiceProvider())
{
try {
Byte[] PlaintextData = Encoding.UTF8.GetBytes(content);
RSACryptography.FromXmlString(publickey);
int MaxBlockSize = RSACryptography.KeySize / 8 - 11; //加密块最大长度限制
if (PlaintextData.Length <= MaxBlockSize)
return Convert.ToBase64String(RSACryptography.Encrypt(PlaintextData, false));
using (MemoryStream PlaiStream = new MemoryStream(PlaintextData))
using (MemoryStream CrypStream = new MemoryStream())
{
Byte[] Buffer = new Byte[MaxBlockSize];
int BlockSize = PlaiStream.Read(Buffer, 0, MaxBlockSize);
while (BlockSize > 0)
{
Byte[] ToEncrypt = new Byte[BlockSize];
Array.Copy(Buffer, 0, ToEncrypt, 0, BlockSize);
Byte[] Cryptograph = RSACryptography.Encrypt(ToEncrypt, false);
CrypStream.Write(Cryptograph, 0, Cryptograph.Length);
BlockSize = PlaiStream.Read(Buffer, 0, MaxBlockSize);
}
return Convert.ToBase64String(CrypStream.ToArray(), Base64FormattingOptions.None);
}
}
catch (Exception e) {
return "";
}
}
}
//C#的RSA私钥签名代码如:
public static string RSASignData(string privatekey, string content)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] cipherbytes;
rsa.FromXmlString(privatekey);
cipherbytes = rsa.SignData(Encoding.UTF8.GetBytes(content), "SHA1");
return Convert.ToBase64String(cipherbytes);
}
//C#的RSA公钥验证代码如:
public static bool RSAVerifyData(string publickey, string content, string sign)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(publickey);
return rsa.VerifyData(Encoding.UTF8.GetBytes(content), "SHA1", Convert.FromBase64String(sign));
}
0 0
- C#加密整理
- C# 中使用Md5加密。。整理版。。。
- C# 实现Base64+MD5 加密(整理)
- C#下HA256加密、HA512加密函数整理
- 加密整理
- C# 加密
- C#加密
- C#加密
- C#加密
- c# 加密
- c# 加密
- C# 加密
- MD5加密整理
- MD5加密整理
- DES 加密/解密整理
- 数据加密简介(整理)
- 加密解密整理
- 加密解密整理
- 编写宏时需要注意的几点
- 2015年, 常见页面问题及其解决方法--css篇
- 居中相对定位和绝对定位的元素
- iso小练习,获取界面的空间,变量字符串int循环判断,get请求数据
- leetcode刷题之旅——215. Kth Largest Element in an Array
- C#加密整理
- Lua 数据结构
- POJ1088 滑雪(动态规划+深搜DFS)
- android的Space控件使用方式
- lavarel框架学习之使用ajax提交表单方法详解
- JSPatch详解
- 滑动改变toolbar透明度
- Creating Custom Views
- redis 主从复制配置