最近碰到的两个QT的问题,感觉无从下手了,棘手。。,大家来帮忙啦

moooxin 2012-04-21 09:34:14
首先说第一个问题了

QWebview加载的html页面无法执行某些js代码,(我知道是兼容性问题,想问大家,怎么解决呢?有什么替代办法)
JS代码如下

try {
alert(httpGet(url))
}
catch(e) {
alert(e);
}
}
function httpGet(theUrl)
{
var xmlHttp = null;

xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
return xmlHttp.responseText;
}

IE下面,正常运行,能够执行http get请求。
在webkit的就不行。
求,替代方法。。

第二个是,关于md5加密的问题
qt的md5加密和其他的(网页,vc,java)的加密比较中,中文的加密总是很诡异
应该是编码的问题,但是试过了把传人字符串做了各种转码,再MD5加密,
结果还是诡异的不一样。。。

求路过的各位给给解释哈,。。。
有个解决的办法更好....
贴上QT MD5 函数

QString QTBMGetparamurl::getMD5(const QString &inStr)
{
QString inStrTmp = inStr;
QString outStrmd5;
QByteArray ba,bb;
QCryptographicHash md(QCryptographicHash::Md5);
ba.append(inStrTmp);
md.addData(ba);
bb = md.result();
outStrmd5.append(bb.toHex());
return outStrmd5;
}


天灵灵地灵灵...各路大侠显神灵。。。。

...全文
340 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
moooxin 2012-04-28
  • 打赏
  • 举报
回复
哦,懂了,最近看了些QT 编程的编码问题,想到了各种可能的原因[Quote=引用 7 楼 的回复:]
加密的你把QString 换成 QByteArray 就可以了,用QString去加密你会发现各种问题。
[/Quote]
moooxin 2012-04-28
  • 打赏
  • 举报
回复
嗯嗯,等下我也测试一下,十分感谢[Quote=引用 5 楼 的回复:]
我这边终于测试成功了,代码如下:
QString httpTest::md5(QString qstr){
QString md5;
QByteArray bb;
bb = QCryptographicHash::hash(qstr.toUtf8(),QCryptographicHash::Md5);
md5.append(bb.toHex());
return md5……
[/Quote]
zoubian_jie 2012-04-27
  • 打赏
  • 举报
回复
我这边终于测试成功了,代码如下:
QString httpTest::md5(QString qstr){
QString md5;
QByteArray bb;
bb = QCryptographicHash::hash(qstr.toUtf8(),QCryptographicHash::Md5);
md5.append(bb.toHex());
return md5;
}
另外,需要在调用这个方法之前设置编码方式,我设置的是GB2312:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));//没有这句,加密会出错
现在中文加密没有问题了,经初步测试,这个加密方式和java中java.security.MessageDigest方式结果是一致的。
xiebin133 2012-04-27
  • 打赏
  • 举报
回复
加密的你把QString 换成 QByteArray 就可以了,用QString去加密你会发现各种问题。
moooxin 2012-04-23
  • 打赏
  • 举报
回复
无人回帖啊????
  • 打赏
  • 举报
回复
不要让他沉。。
moooxin 2012-04-21
  • 打赏
  • 举报
回复
前排求助啦!!!

16,239

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧