Files
Viper_VRTE/openssl/sha.vp
T
TermiNexus e71daeea0e docs(includes): R11 注释英文化——75 个文件的中文注释改写为英文短注释
按规范「注释只讲解作用,不掺杂历史原因,尽量英文」:把 includes 下 75 个 .vp 的中文 # 注释与三引号 docstring 改写为英文,每个注释块压到 2 行以内。

保留要点:作用、约束、危险警告(不得/必须/注意)、ABI 与类型约定(如 BYTEPTR | t.CPtr = i8** 的跨模块坍缩坑)、位宽/长度约定、fail-fast 要求、内存与句柄所有权。

未动:文件头注释(规范豁免,仍是中文)、运行时中文字符串常量(printf / fatal_error / MlirFail 等用户可见消息,属代码字面量)。

验证:独立脚本比对 HEAD 与工作区的代码骨架(剥离 # 注释与三引号 docstring 后的非空行)——75 个文件逐字节一致;行尾 CRLF/LF 未被改动;全文剩余中文仅 547 行头注释、0 条行尾注释。bootstrap 三重重编 SUCCESS;全量 77/77 顺序回归通过。
2026-10-05 16:18:44 +08:00

29 lines
1.3 KiB
Plaintext

import t, c
from openssl.types import *
# ============================================================
# openssl/sha.vp — SHA-1 / SHA-2 一次性摘要
# 对应头文件: sha.h
#
# OpenSSL 3.x 推荐走 EVP(见 evp.vp: EVP_DigestInit_ex/Update/Final_ex),
# 这里保留传统一次性接口,方便快速算摘要。
# ============================================================
define ShaDigestLength = 20
define Sha224DigestLength = 28
define Sha256DigestLength = 32
define Sha384DigestLength = 48
define Sha512DigestLength = 64
# unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md)
extern def SHA1(d: bytes, n: sizet, md: bytes) -> bytes
# unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md)
extern def SHA224(d: bytes, n: sizet, md: bytes) -> bytes
# unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md)
extern def SHA256(d: bytes, n: sizet, md: bytes) -> bytes
# unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md)
extern def SHA384(d: bytes, n: sizet, md: bytes) -> bytes
# unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md)
extern def SHA512(d: bytes, n: sizet, md: bytes) -> bytes
# SHA-3 is provided only via EVP (EVP_sha3_256(), etc.; see evp.vp)