style: Change files encoding format to UTF8-BOM

This commit is contained in:
yuanyuanxiang
2026-01-02 20:00:18 +01:00
parent ba9be08411
commit b6af9ce615
356 changed files with 2819 additions and 2819 deletions

View File

@@ -1,4 +1,4 @@
#pragma once
#pragma once
#include <vector>
#include <cstdint>
@@ -11,14 +11,14 @@ class StreamCipher
private:
uint32_t state;
// <EFBFBD>򵥷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 简单非线性伪随机数生成器
uint8_t prngNext()
{
// <EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>xorshift32<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 例子:xorshift32,改造一点非线性
state ^= (state << 13);
state ^= (state >> 17);
state ^= (state << 5);
// <EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>򵥵ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա任
// 再混合一个简单的非线性变换
uint8_t out = (state & 0xFF) ^ ((state >> 8) & 0xFF);
return out;
}
@@ -26,7 +26,7 @@ private:
public:
StreamCipher(uint32_t key) : state(key) {}
// <EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD>Գƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD>
// 加密解密(对称,长度不变)
void process(uint8_t* data, size_t len)
{
for (size_t i = 0; i < len; ++i) {
@@ -38,20 +38,20 @@ public:
class PrintableXORCipher
{
public:
// <EFBFBD>ԳƼӽ<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ɴ<EFBFBD>ӡ<EFBFBD>ַ<EFBFBD>
// ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32~126<32><36>Χ<EFBFBD><CEA7><EFBFBD>ַ<EFBFBD>
// 对称加解密,输入和输出均为可打印字符
// 前提输入是32~126范围的字符
void process(char* data, size_t len)
{
for (size_t i = 0; i < len; ++i) {
char c = data[i];
// <EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>ǿɴ<EFBFBD>ӡ<EFBFBD><EFBFBD>Χ
// 保证输入字符是可打印范围
if (c < 32 || c > 126) {
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD>ӡ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 不处理非打印字符(或者你也可以自定义错误处理)
continue;
}
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x55<EFBFBD><EFBFBD>'U'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32~126֮<EFBFBD><EFBFBD>
// 异或0x55'U')且确保结果仍是32~126之间
char encrypted = c ^ 0x55;
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>Χ<EFBFBD>ڣ<EFBFBD><EFBFBD>򵥼Ӽ<EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 如果不在范围,修正回范围内(简单加减循环)
if (encrypted < 32) encrypted += 95;
if (encrypted > 126) encrypted -= 95;
data[i] = encrypted;