出于 AB 测试的目的,我们将用户 ID 的 unqiue 哈希生成到 VCL 中的存储桶值中(通过 Fastly CDN)。
set var.backResult =
randomint_seeded(1, 4,
std.strtol(
substr(
digest.hash_md5(req.http.X-Development-UserId)
, 0, 8),
16)
);
这首先将用户 ID 散列为 MD5 字符串。然后是前 8 个字符。用于std.strtol
将其转换为整数值的函数。然后将该值用作randomint_seeded
函数的种子。
我们正在努力做与std.strtol
任何randomint_seeded
其他语言相同的功能(寻找 PHP 或 javascript)。我们需要在不同的语言中得到相同的结果。
对此有何建议?