naisi_string_version
将原始字节字符串的 SHA-256 摘要编码为固定 10 字符的小写 Base36 版本号。
取完整摘要作为大端整数对 36^10 取模,不足 10 位时左补 0。结果只依赖输入字节, 不使用项目私有盐、构建材料或机器信息;与 naisi_string_fingerprint() 使用相同鉴权。
函数签名
function naisi_string_version(string $input): string
调用前提
应用入口先调用 naisi_is_ext_license_valid 并确认返回 true。只验证同一请求内已有的有效 FULL/BASIC 证明;没有证明或证明失效时立即返回失败值,不现场补做完整校验。
授权类别:LICENSE;执行模式:PROOF。许可不代替登录、租户或权限上下文;身份与数据要求见本页参数及用途说明。
参数
$input
- 类型:
string - 必填:是
- 默认值:无
- 方向:输入参数。
原始字节字符串,包括空字符串及嵌入 NUL;不进行去空白、大小写或 Unicode 规范化。
返回值
类型:string
成功时返回 10 位 [a-z0-9] 版本号,空输入也有确定版本;未授权或计算失败时返回空字符串。
调用示例
// 当前请求已通过许可校验。
$version = naisi_string_version('abc');
if ($version === '') { throw new RuntimeException('版本生成失败'); }
var_export($version);
算法固定测试向量见下表;未授权时返回空字符串。
| 输入 | 版本号 |
|---|---|
'' | vixqqhkd3p |
'abc' | km3vt5as31 |
"a\0b"(含 NUL) | qsesh9j5tk |
'中文'(UTF-8) | t6erptzcpt |
版本信息
- 实现模块:
crypto - 授权类别:
LICENSE/PROOF - 失败回退:空字符串
"" - 文档同步:
2026-10-18