微信公众号的 openid 是如何生成的?

2016-01-08 17:34:25 +08:00
 Ellen
一个用户的 openid 对于同一个应用而言是唯一的,并且在用户关注公众号之前通过网页授权获取用户基本信息的方式就可以获取用户的 openid 。问题有二: 1 、如果用户取消关注后 openid 会不会被清理?用户在取消关注一段时间后,再重新关注公众号 openid 会不会发生变化? 2 、 openid 是如何生成的,具体算法如何。
15377 次点击
所在节点    问与答
9 条回复
paicha
2016-01-08 17:41:22 +08:00
用户取消关注后,你使用该 openid 去操作 API ,根据接口权限会提示相应错误。
重新关注 openid 不会改变。
xgfan
2016-01-08 17:42:55 +08:00
1 ,取消关注之后,无法获得该 openid 信息,再次关注不会变化。
2 ,无意义。只需要保证无重复即可。
oott123
2016-01-08 17:49:49 +08:00
不会清理,不会变化,算法应该属于腾讯公司机密,传出来不是炒鱿鱼能兜住的了。
Ellen
2016-01-08 18:09:42 +08:00
@paicha 谢谢~
Ellen
2016-01-08 18:10:12 +08:00
@xgfan 嗯,就是想看看有没有人知道算法
Ellen
2016-01-08 18:10:30 +08:00
@oott123 好的!感谢
JiShuTui
2016-01-08 18:12:04 +08:00
应该是通过某种算法计算出来的,其实最简单的 sha1(用户微信 ID+公众号 ID+盐) 就可以达到目的,但是腾讯为了防止被他人猜测出算法,肯定是不会这么简单
JiShuTui
2016-01-08 18:13:07 +08:00
这个算法不可能公开的,像 3 楼所说,是腾讯公司的商业机密之一
Ellen
2016-01-08 18:32:32 +08:00
@JiShuTui 感谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/249345

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX