当前位置: 首页 > wzjs >正文

做网站前景怎样网络推广的方法包括

做网站前景怎样,网络推广的方法包括,南宁本地网站设计,企业网站资料大全核心概念 1. 什么是加密? 加密:加密是一种将数据转换为一种不可读形式的方法,只有持有相应密钥的人才能解密并读取数据。目的:确保数据的机密性和安全性,特别是在传输过程中过防止未授权访问。 2. 加密类型 对称加密…

核心概念


1. 什么是加密?

  • 加密:加密是一种将数据转换为一种不可读形式的方法,只有持有相应密钥的人才能解密并读取数据。
  • 目的:确保数据的机密性和安全性,特别是在传输过程中过防止未授权访问。

2. 加密类型

对称加密:

  • 使用相同的密钥进行加密和解密。
  • 常见算法:AES、DES。
  • 优点:速度快,适合大数据量加密。

非对称加密:

  • 使用公钥加密和私钥解密。
  • 常见算法:RSA。
  • 优点:安全性高,适合密钥交换和数字签名。

3. 散列函数

  • 散列函数:又称为哈希函数,将任意长度的数据转换为固定长度的字符串。
  • 特点:不可逆,常用于验证数据完整性。
  • 常见算法:MD5、SHA-256。

 实际使用


对称加密示例:AES

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;public class AesEncryptionExample
{public static void Main(){string original = "Sensitive data that needs encryption";// 创建AES加密服务实例using (Aes aesAlg = Aes.Create()){// 加密字符串到字节数组byte[] encrypted = EncryptStringToBytes_Aes(original, aesAlg.Key, aesAlg.IV);// 解密字节数组回字符串string decrypted = DecryptStringFromBytes_Aes(encrypted, aesAlg.Key, aesAlg.IV);Console.WriteLine($"Original: {original}");Console.WriteLine($"Decrypted: {decrypted}");}}static byte[] EncryptStringToBytes_Aes(string plainText, byte[] Key, byte[] IV){// 参数检查if (plainText == null || plainText.Length <= 0)throw new ArgumentNullException(nameof(plainText));if (Key == null || Key.Length <= 0)throw new ArgumentNullException(nameof(Key));if (IV == null || IV.Length <= 0)throw new ArgumentNullException(nameof(IV));byte[] encrypted;// 使用AES算法using (Aes aesAlg = Aes.Create()){aesAlg.Key = Key; // 设置加密密钥aesAlg.IV = IV;   // 设置初始化向量// 创建一个加密器来执行流转换ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);// 用内存流进行加密using (MemoryStream msEncrypt = new MemoryStream()){// 创建加密流using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)){using (StreamWriter swEncrypt = new StreamWriter(csEncrypt)){swEncrypt.Write(plainText); // 写入并加密数据}encrypted = msEncrypt.ToArray(); // 获取加密后的字节数组}}}return encrypted; // 返回加密字节数组}static string DecryptStringFromBytes_Aes(byte[] cipherText, byte[] Key, byte[] IV){// 参数检查if (cipherText == null || cipherText.Length <= 0)throw new ArgumentNullException(nameof(cipherText));if (Key == null || Key.Length <= 0)throw new ArgumentNullException(nameof(Key));if (IV == null || IV.Length <= 0)throw new ArgumentNullException(nameof(IV));string plaintext = null;// 使用AES算法using (Aes aesAlg = Aes.Create()){aesAlg.Key = Key; // 解密密钥aesAlg.IV = IV;   // 初始化向量// 创建解密器ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV);// 用内存流进行解密using (MemoryStream msDecrypt = new MemoryStream(cipherText)){// 创建解密流using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)){using (StreamReader srDecrypt = new StreamReader(csDecrypt)){plaintext = srDecrypt.ReadToEnd(); // 读取并解密数据}}}}return plaintext; // 返回解密后的字符串}
}

非对称加密示例:RSA

using System;
using System.Security.Cryptography;
using System.Text;public class RsaEncryptionExample
{public static void Main(){// 创建RSA实例using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()){// 导出公钥和私钥string publicKey = rsa.ToXmlString(false); // 公钥,不包含私钥string privateKey = rsa.ToXmlString(true); // 私钥,包含全部信息string original = "Data for RSA encryption";// 加密数据byte[] encrypted = Encrypt(original, publicKey);// 解密数据string decrypted = Decrypt(encrypted, privateKey);Console.WriteLine($"Original: {original}");Console.WriteLine($"Decrypted: {decrypted}");}}public static byte[] Encrypt(string data, string publicKey){using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()){rsa.FromXmlString(publicKey); // 加载公钥var dataBytes = Encoding.UTF8.GetBytes(data); // 转换数据为字节数组return rsa.Encrypt(dataBytes, false); // 执行加密}}public static string Decrypt(byte[] data, string privateKey){using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()){rsa.FromXmlString(privateKey); // 加载私钥var decryptedBytes = rsa.Decrypt(data, false); // 执行解密return Encoding.UTF8.GetString(decryptedBytes); // 转换回字符串}}
}

SHA-256 散列示例

using System;
using System.Security.Cryptography;
using System.Text;public class HashingExample
{public static void Main(){string data = "Data to hash";// 计算SHA-256散列值string hash = ComputeSha256Hash(data);Console.WriteLine($"Data: {data}");Console.WriteLine($"Hash: {hash}");}public static string ComputeSha256Hash(string rawData){using (SHA256 sha256Hash = SHA256.Create()){// 将输入字符串转换为字节数组并计算其哈希值byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(rawData));// 将字节数组转变为十六进制字符串StringBuilder builder = new StringBuilder();for (int i = 0; i < bytes.Length; i++){builder.Append(bytes[i].ToString("x2")); // 格式化为两位十六进制}return builder.ToString(); // 返回散列值}}
}
  • SHA-256散列值,通常用来验证两个文件是否相同。

这些示例展示了如何在C#中实现常见的安全和加密任务。如果有其他问题或需要进一步讲解,请随时告诉我!

http://www.dtcms.com/wzjs/346641.html

相关文章:

  • 程序员做项目的网站广告营销是做什么的
  • 中牟建设局网站营销100个引流方案
  • 石家庄电商网站排名百度关键词优化大师
  • 响应式博客网站模板网站搜索优化排名
  • unity网站后台怎么做360优化大师旧版
  • 莞城区仿做网站seo综合查询
  • 生产备案号怎么查询网站seo免费优化网站
  • wordpress定义网站优化推广平台
  • 杭州公司官方网站制作电商怎么做新手入门
  • 网站开发有哪些流程搜索引擎排名google
  • 企业网站的建设要注意什么肇庆网站建设
  • 深圳网站建设延安网络推广外包联系方式
  • 自己做网站卖东西犯法吗网站排名优化
  • 如何评价一个网站做的是否好简述如何对网站进行推广
  • 西安做网站优化的公司友情链接
  • 有可以做推广的网站吗教育培训平台
  • 武汉做网站哪家公司怎么自己做网站推广
  • 凡客诚品创始人关键词优化的建议
  • 建娱乐网站网站推广途径
  • 做微网站哪家好网上怎么推销自己的产品
  • 在哪个网站可以学做衣服上海谷歌推广
  • 电商的网站怎么做的好成人职业培训机构
  • 网站建设入门 下载百度小说app下载
  • 个人网站设计作品图片北京seo加盟
  • 建设网站50m数据库网络广告投放公司
  • b2b免费信息网站石家庄最新消息今天
  • 榆林网站制作搜索引擎优化作业
  • 玉林建设信息网站湖南省最新疫情
  • WordPress建站步骤推广软文是什么意思
  • 国外做贸易网站网站自动收录