QQ二维码中的k值,悬赏⚽️解

这种类,通过账号生成k值
https://qm.qq.com/cgi-bin/qm/qr?k=A1dyXxp644MTPovdYOCxCuzkOJkTOwad&noverify=0&personal_qrcode_source=4

可以代替上述链接,实现手机,pc都可以弹出添加好友的代替代码实际:

<html>
<script language="javascript" type="text/javascript">
    /**适用于PC和任何手机跳转qq添加好友界面的实例**/
    const uag = navigator.userAgent;
    const ipad = uag.match(/(iPad).*OS\s([\d_]+)/),
    isMqVer = !ipad && uag.match(/(iPhone\sOS)\s([\d_]+)/) || uag.match(/(Android)\s+([\d.]+)/);
    if(isMqVer){
        //手机端自动打开弹出 包括苹果ios、安卓等均可弹出
        location.href="mqqapi://card/show_pslcard?src_type=internal&version=1&uin=改成你的QQ&card_type=person&source=sharecard";
    }else{
        //pc浏览器默认打开弹出
        location.href="tencent://AddContact/?fromId=45&fromSubId=1&subcmd=all&uin=改成你的QQ";
    }
</script>
</html>

说明:
如果楼主要实现,扫码加qq的话可以不用过去k值得,这个链接本身是腾讯提供的加密链接,k值实际上是账号生成的k[具体怎么生成这个要问腾讯]。
但是楼主如果想实现一样的加好友弹出的功能,可以选择用这个链接。

<a href="tencent://AddContact/?fromId=50&fromSubId=1&subcmd=all&uin=你的QQ号">

一样可以实现。
如果你需要实现点击即可弹出聊天框的话可以用这个链接。

http://wpa.qq.com/msgrd?v=3&uin=你的QQ号&site=qq:你的QQ号&menu=yes

以上的方法我们也可以通过js封装来实现,不同客户端的跳转

//iphone 和安卓浏览器情况下js执行这个链接
location.href="mqqapi://card/show_pslcard?src_type=internal&version=1&uin=你的QQ号&card_type=person&source=sharecard";
//pc情况下js打开链接
location.href="tencent://AddContact/?fromId=45&fromSubId=1&subcmd=all&uin=你的QQ号";

如果是自定义二维码的话我们可以这样实现
在生成二维码的时候,我们创建一个可执行添加弹出框的网页,网页内填写上上述的方法,自己封装一个函数,判断用户端情况,用if进行分流,执行不同的链接,弹出加好友的框。
在我们扫码后二维码中的链接指定跳转到加好友的中转页面即可。
这样就可以绕过,k值利用本身可以加好友的链接实现同样的效果。

要解,首先得知道用什么加密的,然后相关的秘钥之类的都是什么,否则一切都免谈,或许有人研究出来了,但是这里估计难求

相关问题直接发出来,要求提一下

这个是无解的,说能解的都是骗你的

k是从扫描QQ二维码后出来的,至于怎么生成k就需要去问马化腾了,谁知道QQ咋加密

扫描二维码后生成的k,不是客户端生成的,所以不是加解密的问题,而是如何生成k的问题。除非qq开放相关的接口,否则无法生成k的。

你这个问题得找腾讯团队的研发经理来解决

img

img


你可添加腾讯官方公众号咨询客服或者拨打电话咨询下,该事情是否可行。另外一个就是你最终想要的目的是什么?能否用其他替代,而达到目的性!

k应该是随机生成的一串字符,应该还有多长时间失效这种,理论上无法解密

这得知道人家的加密方式是那种的才好继续下一步

可以找公司去跟腾讯老马寻求合作,然后让他们把相关接口给到你们,但是原始逻辑估计不会给

无解之题,不要花时间在上面