fjqingyou/PotPlayer_Subtitle_Translate_Baidu

报错 54001

a308667911 opened this issue · 6 comments

麻烦修复一下 更新一下 bug

我这边实际在使用中是成功翻译。
请确认一下 SubtitleTranslate - baidu.as 是不是最新的。然后确认下输入的 AppId 和 秘钥这两个的内容前后是否存在空格或者换行符之类的特殊内容。例如先复制到 .txt 的记事本文件中,再从里面复制到输入框中试试看

之前是可以一直用的 没有改过,上个星期就报错了 ..... 不是 账号密码 错误的代码,我看你 那里写的是 签名错误 的代码,as 就是下载你提供的这个文件啊,难道还在其他地方有更新?

就是当前仓库中的这个 as 文件。在我的电脑中它是正常工作翻译的。签名算法在我本机能跑通的情况下,算法本身应该没问题。算法中用到的参数出问题的可能性比较大

string sign = HostHashMD5(appId + text + salt + toKen);//签名 appid+q+salt+密钥 算法签名的参数

在以上的签名算法中
appid 和 token 分别是输入的 appid 和秘钥
text 是字幕内容,salt 是当前时间作为随机数
其中的 appid 如果出错的话,应该是 52003 的错误
而 text 和 salt 是根据字幕和时间动态在变的。唯一不变的就是代表秘钥的 toKen 了。
所以我比较怀疑会不会是秘钥部分前后会不会多了空格。
如果不是这个原因的话,这个问题会比较棘手,因为我这里无法复现这个问题,有可能是还不曾遇到过的其他因素导致的报错。

如果无法通过重新填写密钥解决这个问题时,是否方便提供一下有问题的字幕文件(视频不需要)。压缩上传下我这边进行测试?
如果不是密钥,appid 和 salt 的随机是固定格式的内容。唯一已经明确是内容不能确定的就是字幕内容本身了。

忘了回复你了 .... 我解决问题了 ,过程如下

1、移除旧版,安装最新版32位 ,那个 签名报错 就没有了
2、测试了一下,某些公网ip不行,之前一直用的vps 的公网ip(可能跟防火墙相关
3、点击 播放器 那个 测试后 依然报错(无代码的报错),但可以正常使用了

感谢反馈处理方案!
另外补充说明下 IP 不是必填项目,不填写则任何IP都可以用,填写IP主要是防止盗号,从安全性考虑有IP会安全些,而没有IP也不影响正常翻译工作(但是有万一秘钥泄露会被他人盗用风险)!