Skip to main content

is_base64

Function is_base64 

Source
pub fn is_base64(s: &str) -> bool
Expand description

启发式判断字符串是否可能是一段真实的 Base64 编码数据 (支持 URL-Safe & 无填充格式)

§过滤规则 (Heuristics)

  1. 长度限制: 必须大于 8 个字符。
  2. 字节对齐: 真实 Base64 剔除 ‘=’ 后,长度对 4 取模绝对不能为 1。
  3. 填充符校验: = 最多出现 2 次。
  4. 非法结尾: 有效载荷不能以 +, /, -, _ 结尾(基于编码填充位的数学特性)。
  5. 混入度校验: 必须包含数字或特殊字符(+, /, -, _, =),防止将纯字母当成 Base64。
  6. 连续性检查: 不能有连续 8 个大写或小写字母,防止英文长单词或全大写常量误报。
  7. 大小写比例: 大写字母在总字母中的比例必须介于 0.25 到 0.75 之间。