|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
大师,能否帮忙写一下怎么执行JavaScript的语句,已能实现从网页下载加密JS文件。就是写不对调用js文件的语句,在论坛搜了好几种写法都没成功。附件是下载的加密js文件,网页用encryptByDES(message, key)这个函数加密账号和密码的。
由于对JavaScript不熟,应该是语法上有错误。
求助:
1,如果能直接发现代码中的语法错误最好,麻烦帮指出一下;
2,或者直接帮把调用js加密文件加密的过程写一下,js加密文件见附件,可采用您贴中的方式加载或者直接读取都行,我的问题应该是调用加密文件进行加密上出错了。
vba刚入门不仅,还没接触JavaScript,经验不足。恳请前辈指点一二,拜谢。
前面也在其他帖子提了http://club.excelhome.net/thread-1478285-2-1.html,可能大师们没看到或者觉得太小儿科了懒得出手。。。
Sub loginjm()
Dim strText, strJS, strJSFun As String
With CreateObject("Microsoft.XMLHTTP") '获取加密js文件
.Open "GET", "http://XXXX/uac/resources/static/cryptojs/rollups/tripledes.js", False
.Send
strJS = .responsetext
.Open "GET", "http://XXXX/uac/resources/static/cryptojs/components/mode-ecb.js", False
.Send
strJS = strJS & ";" & .responsetext
End With
Set jsc = CreateObject("MSScriptControl.ScriptControl")
jsc.Language = "javascript"
'按网页js文件中的加密函数function encryptByDES(message, key)编写加密JavaScript语句,此处出错提示缺少“;”
jsc.AddCode strJS & ";" & "Function jm(message, key){var keyHex = CryptoJS.enc.Utf8.parse(key);var encrypted = CryptoJS.DES.encrypt(message, keyHex, {mode : CryptoJS.mode.ECB,padding : CryptoJS.pad.Pkcs7});return encrypted.toString();}"
'为了方便调试,假设账号是:12345678910,密钥是“9074d0f6406a414da93d16dd3e14760c”
jmjg = jsc.Run("jm", "12345678910", "9074d0f6406a414da93d16dd3e14760c")
Debug.Print jmjg
End Sub
|
|