分享

md5基础知识与Qt中的应用

 流楚丶格念 2022-01-14

文章目录

md5简介

md5(Message-Digest Algorithm 5(信息-摘要算法5))

MD5算法具有以下特点:

  • 任意长度的数据,算出的MD5值长度都是固定的。
  • 把一个任意长度的字节串变换成一定长的十六进制数字串
  • 压缩性:  容易计算:
    从原数据计算出MD5值很容易。
  • 抗修改性
    对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
  • 强抗碰撞:
    已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
  • md5过程是不可逆的

md5的应用

文件校验

  • 软件下载站、论坛数据库、系统文件安全等方面

数字证书

  • 互联网通讯中标志通讯各方身份信息的一串数字
  • 提供了一种在Internet上验证通信实体身份的方式

登录验证

  • 操作系统的登陆认证,如Unix、各类BSD系统登录密码

MD5算法描述

  • MD5就是将输入的信息以512位分组,且每一分组被划分为16个32位子分组
  • 经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成
    一个128位散列值

QCryptographicHash

应用计算方法

 // MD5
 方法一:
    QByteArray data = "hello, world";
    QCryptographicHash hash(QCryptographicHash::Md5);
    hash.addData(data);
    hash.addData("你好, 世界");
    // 计算
    QByteArray arry = hash.result();
    qDebug() << arry;
    arry = arry.toHex();
    qDebug() << arry;
方法二:
    QByteArray arry = QCryptographicHash::hash("hello, world", QCryptographicHash::Md5);
    qDebug() << arry.toHex();

md5转换工具下载

链接:https://pan.baidu.com/s/1rYQxOwSdlWTcDMoFdMlmHg
提取码:f53f

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多