Function constant_time_contains
Source pub fn constant_time_contains(haystack: &[u8], needle: &[u8]) -> bool
Expand description
恒定时间子串匹配(AGENT.md §4.9 时序安全)
遍历所有可能的对齐位置,逐字节 XOR 累积差异并用位运算聚合结果,
执行时间仅取决于输入长度,与是否命中、命中位置无关:
- 不因首个不匹配字节提前退出内层循环
- 不因已命中提前退出外层循环
- 无数据相关分支(匹配结果经位运算聚合,而非条件跳转)
长度检查仅依赖输入长度(长度非秘密),不泄露内容信息。
§Arguments
haystack - 被搜索的字节串
needle - 待匹配的模式串(空模式恒为命中)
§Returns
bool - haystack 中是否包含 needle