吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 28567|回复: 45
收起左侧

[其他转载] 谷歌翻译(Google Translate) TKK值,tk值算法,api接口公布

  [复制链接]
夜泉 发表于 2018-3-10 01:27
本帖最后由 夜泉 于 2018-12-12 21:41 编辑

坛里有好多谷歌翻译的软件,其所带的tk值和api接口公布下,如有需要的可以参考和使用!TKK值一般在https://translate.google.cn/ 网页里面有:
TKK.png

将上面的复制到这里来 https://tool.lu/js/ 解密
2.png


解密后:
3.png


然后你很容易的就算出了TKK值为:422392.71207223   (别问我怎么知道的
4.png

注意:TKK值应该可以保持不变(我也不确定可以多久)


translate.google.cn 网站上tk值算法如下(整理过):
[JavaScript] 纯文本查看 复制代码
// a:你要翻译的内容
// uq:tkk的值
function vq(a,uq='422388.3876711001') {
    if (null !== uq)
        var b = uq;
    else {
        b = sq('T');
        var c = sq('K');
        b = [b(), c()];
        b = (uq = window[b.join(c())] || "") || ""
    }
    var d = sq('t');
    c = sq('k');
    d = [d(), c()];
    c = "&" + d.join("") + "=";
    d = b.split(".");
    b = Number(d[0]) || 0;
    for (var e = [], f = 0, g = 0; g < a.length; g++) {
        var l = a.charCodeAt(g);
        128 > l ? e[f++] = l : (2048 > l ? e[f++] = l >> 6 | 192 : (55296 == (l & 64512) && g + 1 < a.length && 56320 == (a.charCodeAt(g + 1) & 64512) ? (l = 65536 + ((l & 1023) << 10) + (a.charCodeAt(++g) & 1023),
        e[f++] = l >> 18 | 240,
        e[f++] = l >> 12 & 63 | 128) : e[f++] = l >> 12 | 224,
        e[f++] = l >> 6 & 63 | 128),
        e[f++] = l & 63 | 128)
    }
    a = b;
    for (f = 0; f < e.length; f++)
        a += e[f],
        a = tq(a, "+-a^+6");
    a = tq(a, "+-3^+b+-f");
    a ^= Number(d[1]) || 0;
    0 > a && (a = (a & 2147483647) + 2147483648);
    a %= 1000000;
    return c + (a.toString() + "." + (a ^ b))
};

/*--------------------------------------------------------------------------------
参数:a 为你要翻译的原文
其他外部函数:
--------------------------------------------------------------------------------*/
function sq(a) {
    return function() {
        return a
    }
}

function tq(a, b) {
    for (var c = 0; c < b.length - 2; c += 3) {
        var d = b.charAt(c + 2);
        d = "a" <= d ? d.charCodeAt(0) - 87 : Number(d);
        d = "+" == b.charAt(c + 1) ? a >>> d : a << d;
        a = "+" == b.charAt(c) ? a + d & 4294967295 : a ^ d
    }
    return a
}

/*--------------------------------------------------------------------------------
运行:
--------------------------------------------------------------------------------*/
window.TTK='422388.3876711001';
var tk = vq("我是傻逼");
console.log(tk);


这段代码提取的是ranslate.google.cn的算法,可以说是母版了,从该版本衍生出了C#、Java、NodeJs(废话)、PHP版本的对应算法出来,然后放在自己的程序里面。

翻译接口:
POST //translate.google.cn/translate_a/t?client=webapp&sl=en&tl=zh-CN&hl=en&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&pc=1&otf=1&ssel=0&tsel=0&kc=1&tk=你tk的值
post 参数:
q=要翻译的文字

注意:&sl=en  为你要翻译的语言,  tl=zh-CN 为翻译后的语言,这里是英文翻译为中文
请求头:
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Host: translate.google.cn

语音接口:

https: //translate.google.cn/translate_tts?ie=UTF-8&client=t&prev=input&q=要语音的文字&tl=en&total=1&idx=0&textlen=4&tk=你tk的值
注意:&sl=en  为你要求用什么语言来读,这里是用英语读
请求头:
Host: translate.google.cn

附件为tk算法母版衍生出来的其他语言版本:
原版代码(母体).rar (1.02 KB, 下载次数: 81)
原版演示代码(衍生体).rar (1.38 KB, 下载次数: 65)
PHP版本代码(衍生体).rar (1.93 KB, 下载次数: 218)
Java版本(衍生体).rar (1.47 KB, 下载次数: 100)

2018年12月12日:最近谷歌翻译好像更新了,其实并没有,主要还是ttk位置变了下(还是原来地方),tk的算法还是可用的...

点评

果然是很6,谢谢分享  发表于 2019-3-13 15:16
emmm http://translate.google.cn/translate_a/single?client=gtx&dt=t&ie=UTF-8&oe=UTF-8&sl=auto&tl=en&q=惊喜噢  发表于 2018-3-10 03:10

免费评分

参与人数 8吾爱币 +9 热心值 +7 收起 理由
zxt1005759639 + 2 + 1 老铁,最近谷歌翻译更新了,翻译tk的都不能用了
Abandon + 1 + 1 请问请求的字符串包含单引号(')或者回车换行会导致计算失败.怎么解决?
asc2hex + 1 请问请求的字符串包含单引号(')或者回车换行会导致计算失败.怎么解决?
周峻弘 + 1 热心回复!
52pojie_user_08 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
libojun + 1 + 1 我很赞同!
ao610336999 + 2 + 1 要是能修改wp-autopost里的过时的api就好了
WYWZ + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

l99650 发表于 2018-3-10 11:32
breezedancer 发表于 2018-3-10 09:28
//translate.google.cn/translate_a/t?client=webapp&sl=en&tl=zh-CN&hl=en&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&pc=1&otf=1&ssel=0&tsel=0&kc=1&tk=你tk的值
  这里 dt 参数这么多,什么意思
wsr 发表于 2018-3-10 01:49
头像被屏蔽
one486 发表于 2018-3-10 04:17
提示: 作者被禁止或删除 内容自动屏蔽
barry324 发表于 2018-3-10 08:10
感谢分享 这个很有帮助,
wuyy 发表于 2018-3-10 08:59
感谢分享 这个很有帮助
asdwes 发表于 2018-3-10 09:15
一眼看过去 只看到了 "我是傻逼"
z178669000 发表于 2018-3-10 09:20
感谢,需要这个
kk1212 发表于 2018-3-10 09:23
不错  谷歌开源是好事
kk1212 发表于 2018-3-10 09:25
楼主用这个方法搞出来  让我感到了惊喜
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-26 09:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表