パッケージのプル チェックサムが 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 プログラマーではないため、あちこちにジャンプするので理解するのが困難です。
ドキュメントに記載されている 2 つのファイルは、database.cとpackage.cです。
これが多少役立つ場合は、元の APK ファイルにこれらのさまざまなハッシュが含まれています...
CRC32 = ac17ea88
MD5 = a035ecf940a67a6572ff40afad4f396a
SHA1 = eca5d3eb11555b3e0464321b91cbd743fbb3f72b
SHA256 = 24bc1f03409b0856d84758d6d44b2f04737bbc260815c525581258a5b4bf6df4