转自:http://segmentfault.com/q/1010000002403358
你可以简单的理解为
openid = hash(uid + app_id)
也就是说,对每个app可以做到用户id唯一,但是这个id又不是通用的,你在其它app上同样的用户,openid会完全不同,反正你无法通过这个id获取用户的任何信息。用户信息是腾讯的命根子,它不会随便给你的。
openid = hash(uid + app_id)
uid可以理解为 微信用户 在微信的唯一标示;
app_id可以理解为 微信公众号 在微信的唯一标示;
算法微信没有公布。
openid = hash(uid + app_id) 可以理解为某个微信用户在某个微信公众号中的唯一标示。