文件
ParlzPackageManger/src/sha256.h
T
JGZYES 114ef62dd9 ParlzPackageManger (PMM): cross-platform package manager + mirror
- C11, static MinGW build, single exe (pmm/pdm)
- apt-style multi-mirror install with sha256/sha1 verify
- .pdm package format (pdm pack/install/remove), deb-like
- github/gitlab/gitea/forgejo release install with --git/--github etc.
- python/pip-style version selection (==,>=,<=,>,< , comma)
- auto platform selection (windows/linux variants)
- Windows Installed Apps registration + PATH auto-add
- download progress bar (tqdm-style, ASCII-safe)
- mirror/ : zero-dep Node.js registry server (variants, multi-version)
- Licensed under GNU GPL v3
2026-08-30 18:11:21 +08:00

21 行
576 B
C

/* sha256.h */
#ifndef PMM_SHA256_H
#define PMM_SHA256_H
#include <stddef.h>
typedef struct {
unsigned int state[8];
unsigned long long bitlen;
unsigned char data[64];
unsigned int datalen;
} PmmSha256;
void pmm_sha256_init(PmmSha256 *c);
void pmm_sha256_update(PmmSha256 *c, const unsigned char *data, size_t len);
void pmm_sha256_final(PmmSha256 *c, unsigned char out[32]);
/* Hex digest (65 bytes incl NUL). Returns 0 on success. */
int pmm_sha256_file(const char *path, char *hex);
void pmm_sha256_hex(const unsigned char digest[32], char *hex);
#endif