md5基础知识与Qt中的应用

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆萌宝儿姐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值