SMS Retriever API适配应用新旧双签名的哈希处理方案咨询
SMS Retriever API双签名适配方案
核心疑问解答
1. 两套不同签名能否生成同一个11位哈希?
- 结论:完全不可能
- 原因:SMS Retriever API的11位哈希由
应用包名 + 签名证书的SHA-256指纹通过固定规则运算生成,只要签名证书存在差异,最终得到的哈希必然不同,不存在碰撞复用的可能。
双签名场景最优适配方案
无需客户端发版改造,仅需调整服务端短信逻辑即可同时覆盖新旧签名用户:
步骤1:提前生成双哈希
分别用旧签名证书、新签名证书结合应用包名,生成对应的两个11位哈希字符串,录入服务端配置。
步骤2:短信内容同时携带双哈希
用户触发验证码请求时,服务端不需要区分用户端应用的签名版本,直接在短信末尾换行拼接两个哈希即可。示例格式如下:
【XX应用】您的验证码是123456,5分钟内有效,请勿告知他人。
旧签名对应11位哈希新签名对应11位哈希
SMS Retriever API只会匹配当前应用签名对应的哈希值,另一个不匹配的哈希不会对自动读取逻辑产生任何干扰,可同时兼容新旧签名版本的应用。
步骤3:过渡完成后下线旧哈希
等旧签名版本的用户存量降低到可接受阈值后,服务端移除短信中的旧哈希即可。
注意事项
- 两个哈希需单独换行放置,和短信正文之间保留空行,符合SMS Retriever API的格式要求
- 哈希字符串的大小写需和生成结果完全一致,否则会出现匹配失败问题
内容的提问来源于stack exchange,提问作者Chen Cohen
相关产品推荐
相关产品推荐

