暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Qt使用MD5加密

嵌入式技术笔记 2020-02-20
2375

Qt中包含了大部分常用的功能,比如json、数据库、网络通信、串口通信以及今天说的这个MD5加密;

Qt不只是一个图像界面库,更是一个C++的类库和框架。在嵌入式linux系统开发时,可以将qt移植过去,然后基于qt的框架进行应用开发,可以大大提高开发效率,C++里面封装的类库与数据类型,使用起来很方便,都有点像java了。

在开发时,有时会用到MD5加密去保存密码,因此需要用到MD5算法,网络上也可以找到纯C实现的代码,虽然不太复杂,但是也需要花点时间去找和测试。qt里面已经封装了MD5的加密算法,并且使用起来很是方便。

Qt中将字符串进行MD5加密其实比较简单,代码如下:

#include <QCoreApplication>
#include <QCryptographicHash>
#include <QDebug>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);


QString str = "123456";
QString md5Str = QCryptographicHash::hash(str.toLatin1(),QCryptographicHash::Md5).toHex();

qDebug()<<"md5: "<<md5Str;

return a.exec();
}


有这么简单的接口,还需要找C代码吗?

执行结果:

md5:  "e10adc3949ba59abbe56e057f20f883e"

MD5加密是不可逆的(不过现在据说有破解的),我们在程序中如果是使用MD5加密去保存密码的话,那么对比密码时,需要转换为MD5字符串后进行对比。


在网站https://www.sojson.com/encrypt_md5.html上可以在线计算MD5的加密值,与qt计算的值一致:


文章转载自嵌入式技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论