2024.09.25
工作内容
服务器 GameShared 测试
昨天版本构建不稳定,所以今早提交做测试;
这个是构建项目目录中的 shared 文件:
这个是 MechaServer 构建出来上传至189归档目录的shared文件:
最后解压545020的roomsvr压缩包,发现里面shared文件并没有替换,md5显示:b35af …
测试失败
经查证,gameshared文件在【Unity构建】任务中就已经将项目中的shared文件拷贝了一份副本到产出物压缩目录,又因为下载shared文件需要等待MechaServer编译完毕才能下载,所以存在请求等待的情况下不能放在【Unity构建】之前,只能放在后面执行。
重新拼接了一个产出物目录,将shared文件替换产出物目录文件,经过测试验证*****545208*****版本的服务器包内的shared文件是被替换的版本矫正文件。
构建流水线熟悉
今天看了一下内网部署和外网推送的脚本流程,大致看了一下客户端加密签名的流程,还需要继续深入阅读。
加密签名文件长期归档
新增展会预备包归档,因为展会加密签名包是从分支构建出来的类bvt的版本里把客户端包单独做加密签名处理,生成对外发布的一个链接(新的拼接规则),并且今天正好看了一下 客户但加密签名 流程,是没有将对应的pdb等文件做备份归档的,所以如果要将对外的加密签名客户端存档的话,归档如下内容:
-
单独只存一份 对外的 加密签名客户端文件
-
对外版本对应的类bvt版本构建的所有前后端产物
两者同时归档,保证内部文件和外部文件都齐全
Other
-
协助 林正森 记录版本构建出错原因
-
下班前和zilve清理了 AB构建机 的BuildData/ 和 Library/ 并做了压缩归档(189),然后执行了重导Library
待办
-
Shader 编译相关的需求
-
加密签名对外发布流程
Knowledge
-
windows md5
1
certutil -hashfile example.txt MD5
-
SHA3-512 [ C++ ]
在 C++ 中,你可以使用
CryptoPP(Crypto++)库来生成字符串的 SHA3-512 哈希值。以下是具体实现:步骤
-
安装 Crypto++ 库。
-
编写并编译代码。
安装 Crypto++ 库
你可以从 Crypto++ 官方网站下载源代码并进行编译安装,或者使用包管理器安装。例如,在 Ubuntu 上可以这样安装:
1
sudo apt-get install libcrypto++-dev
编写代码
下面是一个简单的 C++ 程序,用于计算字符串的 SHA3-512 哈希值:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31#include <iostream>
#include <string>
#include <cryptopp/sha3.h>
#include <cryptopp/filters.h>
#include <cryptopp/hex.h>
std::string generate_sha3_512_hash(const std::string &input) {
using namespace CryptoPP;
// 创建 SHA3-512 对象
SHA3_512 hash;
// 存储哈希输出值
std::string digest;
StringSource ss(input, true,
new HashFilter(hash,
new HexEncoder(
new StringSink(digest)
) // HexEncoder
) // HashFilter
); // StringSource
return digest;
}
int main() {
std::string input = "hello world";
std::string hash_value = generate_sha3_512_hash(input);
std::cout << "SHA3-512 hash of '" << input << "': " << hash_value << std::endl;
return 0;
}代码解析
-
包含必要的头文件:
1
2
3
4
5#include <iostream>
#include <string>
#include <cryptopp/sha3.h>
#include <cryptopp/filters.h>
#include <cryptopp/hex.h> -
定义
generate_sha3_512_hash函数:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18std::string generate_sha3_512_hash(const std::string &input) {
using namespace CryptoPP;
// 创建 SHA3-512 对象
SHA3_512 hash;
// 存储哈希输出值
std::string digest;
StringSource ss(input, true,
new HashFilter(hash,
new HexEncoder(
new StringSink(digest)
) // HexEncoder
) // HashFilter
); // StringSource
return digest;
}-
使用
CryptoPP::SHA3_512创建 SHA3-512 哈希对象。 -
使用
StringSource将输入字符串编码为字节,并传递给HashFilter,然后通过HexEncoder获取十六进制格式的哈希值,最终存储在digest中。
-
-
主函数:
1
2
3
4
5
6int main() {
std::string input = "hello world";
std::string hash_value = generate_sha3_512_hash(input);
std::cout << "SHA3-512 hash of '" << input << "': " << hash_value << std::endl;
return 0;
}-
调用
generate_sha3_512_hash函数获取输入字符串的 SHA3-512 哈希值,并输出结果。
-
编译和运行
假设你已经安装了 Crypto++ 库,可以使用以下命令编译和运行程序:
1
2g++ -o sha3_512_hash sha3_512_hash.cpp -lcryptopp
./sha3_512_hash这将输出类似如下的结果:
1
SHA3-512 hash of 'hello world': B7F783BAED8297F0DBE6C07E9D618D4BF21A9D7755BBA7B9284361F9068EC504B6F8535AC6F3AB42F4CB506B11DA3430D1B3A6E3B4A22DDDC149BED9279338E4
以上代码展示了如何在 C++ 中使用 Crypto++ 库生成字符串的 SHA3-512 哈希值。
-