编辑
2025-09-27
C#
00

摘要

在C#中,Channel类是.NET Core提供的一种新的生产者消费者模型。Channel类位于System.Threading.Channels命名空间下,它提供了一种异步的消息传递机制,可以用来在生产者和消费者之间传递数据。

正文

Channel类的应用场景

Channel类主要用于以下场景:

  • 异步数据流处理:当我们需要在生产者和消费者之间进行异步数据传递时,可以使用Channel类。
  • 多线程编程:Channel类提供了一种线程安全的方式来传递数据,可以避免在多线程环境中出现的数据竞争问题。
  • 实时数据处理:当我们需要处理实时数据流时,可以使用Channel类来异步地处理数据。

一个简单例子

image.png

编辑
2025-09-27
C#
00

摘要

C# 9.0引入的一个新特性就是record类型。在这篇文章中,我们将探讨record类型,它的用途,优点,缺点,以及一些例子。

正文

什么是Record类型?

record类型是一种引用类型,提供了内置功能来封装数据。与类和结构不同,record类型默认是不可变的,这意味着一旦创建了record实例,它就不能被修改。

image.png

编辑
2025-09-27
C#
00

摘要

DES(Data Encryption Standard)是一种对称加密算法,是美国联邦政府于1977年发布的一种数据加密标准。它是一种分组密码,将明文分成64位的数据块,并对每个数据块进行加密和解密操作。DES使用相同的密钥进行加密和解密,密钥长度为56位,其中8位用于奇偶校验。

DES的优点包括:

  1. 安全性高:DES是一种经过广泛使用和研究的加密算法,具有较高的安全性。
  2. 可靠性强:DES的算法逻辑简单,实现起来相对容易,且在多个平台上都有成熟的实现。
  3. 速度较快:DES的加密和解密速度相对较快,适用于对大量数据进行加密和解密的场景。

然而,DES也存在一些缺点:

  1. 密钥长度较短:DES的密钥长度为56位,相对较短,容易受到暴力破解的攻击。
  2. 安全性受限:随着计算机技术的发展,DES的安全性逐渐受到质疑,已经被认为不够安全,容易受到差分攻击和线性攻击等攻击方式的破解。

正文

加密

image.png

编辑
2025-09-27
C#
00

摘要

MD5(Message Digest Algorithm 5)是一种常用的哈希算法,用于将任意长度的数据转换为固定长度的哈希值。MD5加密在以下场景下使用:

  1. 数据完整性验证:通过对数据进行MD5加密,可以生成一个唯一的哈希值,用于验证数据在传输或存储过程中是否被篡改。
  2. 密码存储:在用户注册或登录时,可以对用户密码进行MD5加密后存储,以增加密码的安全性。
  3. 单向的加密

正文

在C#中,可以使用System.Security.Cryptography命名空间下的MD5类来实现MD5加密。以下是使用MD5类的属性和方法:

属性:

  • HashSize:获取哈希算法的输出大小(以位为单位)。
  • Hash:获取计算所得的哈希值。

方法:

  • ComputeHash(byte[] buffer):计算指定字节数组的哈希值。
  • ComputeHash(Stream inputStream):计算指定流的哈希值。

加密一个字符串

image.png

编辑
2025-09-26
SQLSERVER
00

在数据库设计中,维护数据的完整性是至关重要的。SQL Server 提供了多种机制来保证数据的准确性和一致性。本文将详细介绍主键、外键、检查约束和默认值,并提供相应的SQL脚本来展示它们的使用。

主键(Primary Key)

主键是一列或列的组合,其值能唯一标识表中的每一行。主键不能包含NULL值,并且每个表只能有一个主键。

示例脚本:

创建一个包含主键的 Customers 表:

SQL
CREATE TABLE Customers ( CustomerID INT NOT NULL, Name VARCHAR(100) NOT NULL, Email VARCHAR(100) NOT NULL, CONSTRAINT PK_Customers PRIMARY KEY (CustomerID) );

image.png