god_morning 2022-10-10 08:29 采纳率: 22.2%
浏览 902

QByteArray对象使用append方法出错

QByteArray对象使用append方法出错

QString QDlgLogin::encrypt(const QString &str)
{//字符串MD5算法加密
QByteArray btArray;
btArray.append(str);
QCryptographicHash hash(QCryptographicHash::Md5); //MD5加密算法
hash.addData(btArray); //添加数据
QByteArray resultArray=hash.result(); //返回最终的散列值
QString md5=resultArray.toHex();//转换为16进制字符串
return md5;
}

img

报错无append的成员函数
按Qt5.9C++编程指南书上敲的代码,查过头文件好像也没有漏。
请教各位帮忙解答一下
  • 写回答

6条回答 默认 最新

  • _GX_ 2022-10-10 14:20
    关注

    从Qt5.15版本开始,函数QByteArray::append(const QString&)已经被废弃了。你可以改成如下形式

    btArray.append(str.toUtf8());
    

    如果你确定str里不含有unicode字符,那么可以使用更快的函数

    btArray.append(str.toLatin1());
    
    评论

报告相同问题?

问题事件

  • 修改了问题 10月10日
  • 创建了问题 10月10日