欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > C#加密方式

C#加密方式

2025/4/23 10:02:25 来源:https://blog.csdn.net/weixin_58342262/article/details/145349621  浏览:    关键词:C#加密方式
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Security.Cryptography;using System.Text;namespace PwdDemo{public class AESHelper{/// <summary>///  AES 加密/// </summary>/// <param name="str">明文(待加密)</param>/// <param name="key">密文</param>/// <returns></returns>public string AesEncrypt(string str, string key){if (string.IsNullOrEmpty(str)) return null;Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);RijndaelManaged rm = new RijndaelManaged{Key = Encoding.UTF8.GetBytes(key),Mode = CipherMode.ECB,Padding = PaddingMode.PKCS7};ICryptoTransform cTransform = rm.CreateEncryptor();Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return Convert.ToBase64String(resultArray);}/// <summary>///  AES 解密/// </summary>/// <param name="str">明文(待解密)</param>/// <param name="key">密文</param>/// <returns></returns>public string AesDecrypt(string str, string key){if (string.IsNullOrEmpty(str)) return null;Byte[] toEncryptArray = Convert.FromBase64String(str);RijndaelManaged rm = new RijndaelManaged{Key = Encoding.UTF8.GetBytes(key),Mode = CipherMode.ECB,Padding = PaddingMode.PKCS7};ICryptoTransform cTransform = rm.CreateDecryptor();Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return Encoding.UTF8.GetString(resultArray);}}}

 AES加密算法

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Security.Cryptography;using System.Text;namespace PwdDemo{public class DESHelper{//密钥public static byte[] _KEY  = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };//向量public static byte[] _IV = new byte[] { 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01 };   /// <summary>/// DES加密操作/// </summary>/// <param name="normalTxt"></param>/// <returns></returns>public string DesEncrypt(string normalTxt){//byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(_KEY);//byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(_IV);DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();int i = cryptoProvider.KeySize;MemoryStream ms = new MemoryStream();CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(_KEY, _IV), CryptoStreamMode.Write);StreamWriter sw = new StreamWriter(cst);sw.Write(normalTxt);sw.Flush();cst.FlushFinalBlock();sw.Flush();string strRet = Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);return strRet;}/// <summary>/// DES解密操作/// </summary>/// <param name="securityTxt">加密字符串</param>/// <returns></returns>public string DesDecrypt(string securityTxt)//解密  {//byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(_KEY);//byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(_IV);byte[] byEnc;try{securityTxt.Replace("_%_", "/");securityTxt.Replace("-%-", "#");byEnc = Convert.FromBase64String(securityTxt);}catch{return null;}DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();MemoryStream ms = new MemoryStream(byEnc);CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(_KEY, _IV), CryptoStreamMode.Read);StreamReader sr = new StreamReader(cst);return sr.ReadToEnd();}}}

DES加密算法

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Security.Cryptography;using System.Text;namespace PwdDemo{public class RSAHelper{private const int RsaKeySize = 2048;private const string publicKeyFileName = "RSA.Pub";private const string privateKeyFileName = "RSA.Private";/// <summary>///在给定路径中生成XML格式的私钥和公钥。/// </summary>public void GenerateKeys(string path){using (var rsa = new RSACryptoServiceProvider(RsaKeySize)){try{// 获取私钥和公钥。var publicKey = rsa.ToXmlString(false);var privateKey = rsa.ToXmlString(true);// 保存到磁盘File.WriteAllText(Path.Combine(path, publicKeyFileName), publicKey);File.WriteAllText(Path.Combine(path, privateKeyFileName), privateKey);//Console.WriteLine(string.Format("生成的RSA密钥的路径: {0}\\ [{1}, {2}]", path, publicKeyFileName, privateKeyFileName));}finally{rsa.PersistKeyInCsp = false;}}}/// <summary>/// 用给定路径的RSA公钥文件加密纯文本。/// </summary>/// <param name="plainText">要加密的文本</param>/// <param name="pathToPublicKey">用于加密的公钥路径.</param>/// <returns>表示加密数据的64位编码字符串.</returns>public string Encrypt(string plainText, string pathToPublicKey){using (var rsa = new RSACryptoServiceProvider(RsaKeySize)){try{//加载公钥var publicXmlKey = File.ReadAllText(pathToPublicKey);rsa.FromXmlString(publicXmlKey);var bytesToEncrypt = System.Text.Encoding.Unicode.GetBytes(plainText);var bytesEncrypted = rsa.Encrypt(bytesToEncrypt, false);return Convert.ToBase64String(bytesEncrypted);}finally{rsa.PersistKeyInCsp = false;}}}/// <summary>/// Decrypts encrypted text given a RSA private key file path.给定路径的RSA私钥文件解密 加密文本/// </summary>/// <param name="encryptedText">加密的密文</param>/// <param name="pathToPrivateKey">用于加密的私钥路径.</param>/// <returns>未加密数据的字符串</returns>public string Decrypt(string encryptedText, string pathToPrivateKey){using (var rsa = new RSACryptoServiceProvider(RsaKeySize)){try{var privateXmlKey = File.ReadAllText(pathToPrivateKey);rsa.FromXmlString(privateXmlKey);var bytesEncrypted = Convert.FromBase64String(encryptedText);var bytesPlainText = rsa.Decrypt(bytesEncrypted, false);return System.Text.Encoding.Unicode.GetString(bytesPlainText);}finally{rsa.PersistKeyInCsp = false;}}}}}

RSA加密算法

using System;using System.Collections.Generic;using System.Linq;using System.Security.Cryptography;using System.Text;namespace PwdDemo{public class SHAHelper{public string SHAmd5Encrypt(string normalTxt){var bytes = Encoding.Default.GetBytes(normalTxt);//求Byte[]数组  var Md5 = new MD5CryptoServiceProvider();var encryptbytes = Md5.ComputeHash(bytes);//求哈希值  return Base64To16(encryptbytes);//将Byte[]数组转为净荷明文(其实就是字符串)  }public string SHA1Encrypt(string normalTxt){var bytes = Encoding.Default.GetBytes(normalTxt);var SHA = new SHA1CryptoServiceProvider();var encryptbytes = SHA.ComputeHash(bytes);return Base64To16(encryptbytes);}public string SHA256Encrypt(string normalTxt){var bytes = Encoding.Default.GetBytes(normalTxt);var SHA256 = new SHA256CryptoServiceProvider();var encryptbytes = SHA256.ComputeHash(bytes);return Base64To16(encryptbytes);}public string SHA384Encrypt(string normalTxt){var bytes = Encoding.Default.GetBytes(normalTxt);var SHA384 = new SHA384CryptoServiceProvider();var encryptbytes = SHA384.ComputeHash(bytes);return Base64To16(encryptbytes);}public string SHA512Encrypt(string normalTxt){var bytes = Encoding.Default.GetBytes(normalTxt);var SHA512 = new SHA512CryptoServiceProvider();var encryptbytes = SHA512.ComputeHash(bytes);return Base64To16(encryptbytes);}private string Base64To16(byte[] buffer){string md_str = string.Empty;for (int i = 0; i < buffer.Length; i++){md_str += buffer[i].ToString("x2");}return md_str;}}}

SHA加密算法

-----------------以上内容大部分摘自网络

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词