Skip to content

Commit 2639e95

Browse files
committed
[增加]1. 增加哈希库的说明
1 parent 6ddc679 commit 2639e95

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

README.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,68 @@ string decrypted = RsaHelper.Decrypt(keys["privateKey"], encrypted);
7171
// SM4 加密示例
7272
string encrypted = Sm4Helper.EncryptCbc("your-key", "Hello World");
7373
string decrypted = Sm4Helper.DecryptCbc("your-key", encrypted);
74+
```
75+
76+
## 哈希工具库 (GameFrameX.Foundation.Hash)
77+
78+
该库提供了多种哈希算法的实现,包括:
79+
80+
### MD5 哈希 (Md5Helper)
81+
82+
- 提供字符串、流、文件和字节数组的MD5哈希计算
83+
- 支持加盐哈希
84+
- 支持哈希值验证
85+
- 注:MD5已不再被认为是加密安全的,建议在安全要求较高的场景使用SHA-256或更高强度的算法
86+
87+
### SHA 系列哈希
88+
89+
- SHA-1 (Sha1Helper): 生成160位(20字节)哈希值
90+
- SHA-256 (Sha256Helper): 生成256位(32字节)哈希值
91+
- SHA-512 (Sha512Helper): 生成512位(64字节)哈希值
92+
- 支持字符串、字节数组和文件的哈希计算与验证
93+
- 支持自定义编码
94+
95+
### HMAC-SHA256 (HmacSha256Helper)
96+
97+
- 基于密钥的哈希消息认证码
98+
- 结合SHA-256哈希函数和密钥
99+
- 返回Base64编码的哈希值
100+
101+
### CRC 校验 (CrcHelper)
102+
103+
- CRC32: 32位循环冗余校验
104+
- CRC64: 64位循环冗余校验,基于ECMA-182标准
105+
- 支持流式处理
106+
- 支持字节数组和文件处理
107+
108+
### MurmurHash3 (MurmurHash3Helper)
109+
110+
- 非加密型高性能哈希算法
111+
- 32位版本实现
112+
- 支持自定义种子值
113+
- 适用于哈希表等场景
114+
115+
### xxHash (XxHashHelper)
116+
117+
- 提供32位、64位和128位哈希值计算
118+
- 高性能非加密型哈希算法
119+
- 支持字符串、字节数组和类型哈希
120+
- 适用于需要快速哈希计算的场景
121+
122+
### 使用示例
123+
124+
```csharp
125+
// MD5哈希示例
126+
string md5Hash = Md5Helper.Hash("Hello World");
127+
string saltedHash = Md5Helper.HashWithSalt("Hello World", "salt");
128+
// SHA-256哈希示例
129+
string sha256Hash = Sha256Helper.ComputeHash("Hello World");
130+
// HMAC-SHA256示例
131+
string hmacHash = HmacSha256Helper.Hash("message", "key");
132+
// CRC32校验示例
133+
int crc32 = CrcHelper.GetCrc32("Hello World"u8.ToArray());
134+
// MurmurHash3示例
135+
uint murmurHash = MurmurHash3Helper.Hash("Hello World");
136+
// xxHash示例
137+
ulong xxHash = XxHashHelper.Hash64("Hello World");
74138
```

0 commit comments

Comments
 (0)