我正在尝试弄清楚如何在 Alpine APK 包存储库中计算包的拉取校验和。有关格式的文档缺乏任何细节。
当我运行apk index -o APKINDEX.unsigned.tar.gz *.apk
生成存储库时。当您从 gz 中提取 txt 文件时,它包含以下内容...
C:Q17KXT6xFVWz4EZDIbkcvXQ/uz9ys=
P:redis-server
V:3.2.3-0
A:noarch
S:2784844
I:102400
T:An advanced key-value store
U:http://redis.io/
L:
D:linux-headers
我对如何生成第一行感兴趣。我试图阅读用于生成它的实际源代码,但我不是 C 程序员,所以我很难理解,因为它到处乱跳。
文档中提到的两个文件是database.c和package.c。
万一这有点帮助,原始APK文件有这些不同的哈希......
CRC32 = ac17ea88
MD5 = a035ecf940a67a6572ff40afad4f396a
SHA1 = eca5d3eb11555b3e0464321b91cbd743fbb3f72b
SHA256 = 24bc1f03409b0856d84758d6d44b2f04737bbc260815c525581258a5b4bf6df4