吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 29008|回复: 45
上一主题 下一主题
收起左侧

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

  [复制链接]
跳转到指定楼层
楼主
夜泉 发表于 2018-3-10 01:27 回帖奖励
本帖最后由 夜泉 于 2018-12-12 21:41 编辑

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


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



解密后:



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


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


translate.google.cn 网站上tk值算法如下(整理过):
[JavaScript] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// 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 参数这么多,什么意思
3#
wsr 发表于 2018-3-10 01:49
头像被屏蔽
4#
one486 发表于 2018-3-10 04:17
提示: 作者被禁止或删除 内容自动屏蔽
5#
barry324 发表于 2018-3-10 08:10
感谢分享 这个很有帮助,
6#
wuyy 发表于 2018-3-10 08:59
感谢分享 这个很有帮助
7#
asdwes 发表于 2018-3-10 09:15
一眼看过去 只看到了 "我是傻逼"
8#
z178669000 发表于 2018-3-10 09:20
感谢,需要这个
9#
kk1212 发表于 2018-3-10 09:23
不错  谷歌开源是好事
10#
kk1212 发表于 2018-3-10 09:25
楼主用这个方法搞出来  让我感到了惊喜
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-4-19 10:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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