Ich versuche herauszufinden, wie die Pull-Prüfsumme für Pakete in Alpine APK-Paket-Repositories berechnet wird. Die documentation bezüglich des Formats fehlt in jedem Detail.Alpine APK Package Repositories, wie werden die Checksummen berechnet?
Wenn ich apk index -o APKINDEX.unsigned.tar.gz *.apk
ausführen, die das Repository generiert. Wenn Sie die txt-Datei aus dem Inneren des gz extrahieren, enthält es die folgenden ...
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
mich interessiert, wie die erste Zeile erzeugt wird. Ich habe versucht, die tatsächliche Quelle zu lesen, die verwendet wird, um dies zu generieren, aber ich bin kein C-Programmierer, deshalb ist es schwer für mich zu verstehen, wie es überall herumspringt. Die in der Dokumentation erwähnten zwei Dateien sind database.c und package.c.
Incase das etwas hilft, die ursprüngliche APK-Datei, diese verschiedenen Hashes hat ...
CRC32 = ac17ea88
MD5 = a035ecf940a67a6572ff40afad4f396a
SHA1 = eca5d3eb11555b3e0464321b91cbd743fbb3f72b
SHA256 = 24bc1f03409b0856d84758d6d44b2f04737bbc260815c525581258a5b4bf6df4