• <i id='YYOeW'><tr id='YYOeW'><dt id='YYOeW'><q id='YYOeW'><span id='YYOeW'><b id='YYOeW'><form id='YYOeW'><ins id='YYOeW'></ins><ul id='YYOeW'></ul><sub id='YYOeW'></sub></form><legend id='YYOeW'></legend><bdo id='YYOeW'><pre id='YYOeW'><center id='YYOeW'></center></pre></bdo></b><th id='YYOeW'></th></span></q></dt></tr></i><div id='YYOeW'><tfoot id='YYOeW'></tfoot><dl id='YYOeW'><fieldset id='YYOeW'></fieldset></dl></div>
  • <small id='YYOeW'></small><noframes id='YYOeW'>

    • <bdo id='YYOeW'></bdo><ul id='YYOeW'></ul>

      <tfoot id='YYOeW'></tfoot><legend id='YYOeW'><style id='YYOeW'><dir id='YYOeW'><q id='YYOeW'></q></dir></style></legend>

        如何使用 Qt 获取文件的 SHA-1/MD5 校验和?

        时间:2023-08-26

            <tbody id='steDi'></tbody>

            <small id='steDi'></small><noframes id='steDi'>

            <legend id='steDi'><style id='steDi'><dir id='steDi'><q id='steDi'></q></dir></style></legend>
              <bdo id='steDi'></bdo><ul id='steDi'></ul>
              <tfoot id='steDi'></tfoot>

            • <i id='steDi'><tr id='steDi'><dt id='steDi'><q id='steDi'><span id='steDi'><b id='steDi'><form id='steDi'><ins id='steDi'></ins><ul id='steDi'></ul><sub id='steDi'></sub></form><legend id='steDi'></legend><bdo id='steDi'><pre id='steDi'><center id='steDi'></center></pre></bdo></b><th id='steDi'></th></span></q></dt></tr></i><div id='steDi'><tfoot id='steDi'></tfoot><dl id='steDi'><fieldset id='steDi'></fieldset></dl></div>

                  本文介绍了如何使用 Qt 获取文件的 SHA-1/MD5 校验和?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  有没有办法在 Qt 中获取磁盘上文件的 MD5 或 SHA-1 校验和/哈希?

                  Is there a way to get the MD5 or SHA-1 checksum/hash of a file on disk in Qt?

                  例如,我有文件路径,我可能需要验证该文件的内容是否与某个哈希值匹配.

                  For example, I have the file path and I might need to verify that the contents of that file matches a certain hash value.

                  推荐答案

                  QFile 打开文件,并调用 readAll() 将其内容拉入 QByteArray.然后将其用于 QCryptographicHash::hash(const QByteArray& data, Algorithm method) 调用.

                  Open the file with QFile, and call readAll() to pull it's contents into a QByteArray. Then use that for the QCryptographicHash::hash(const QByteArray& data, Algorithm method) call.

                  在 Qt5 中你可以使用 addData():

                  In Qt5 you can use addData():

                  // Returns empty QByteArray() on failure.
                  QByteArray fileChecksum(const QString &fileName, 
                                          QCryptographicHash::Algorithm hashAlgorithm)
                  {
                      QFile f(fileName);
                      if (f.open(QFile::ReadOnly)) {
                          QCryptographicHash hash(hashAlgorithm);
                          if (hash.addData(&f)) {
                              return hash.result();
                          }
                      }
                      return QByteArray();
                  }
                  

                  这篇关于如何使用 Qt 获取文件的 SHA-1/MD5 校验和?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:二维索引的良好散列函数 下一篇:与 std::hash 意外冲突

                  相关文章

                  1. <legend id='TbQHd'><style id='TbQHd'><dir id='TbQHd'><q id='TbQHd'></q></dir></style></legend>
                      <i id='TbQHd'><tr id='TbQHd'><dt id='TbQHd'><q id='TbQHd'><span id='TbQHd'><b id='TbQHd'><form id='TbQHd'><ins id='TbQHd'></ins><ul id='TbQHd'></ul><sub id='TbQHd'></sub></form><legend id='TbQHd'></legend><bdo id='TbQHd'><pre id='TbQHd'><center id='TbQHd'></center></pre></bdo></b><th id='TbQHd'></th></span></q></dt></tr></i><div id='TbQHd'><tfoot id='TbQHd'></tfoot><dl id='TbQHd'><fieldset id='TbQHd'></fieldset></dl></div>
                        <bdo id='TbQHd'></bdo><ul id='TbQHd'></ul>

                      <tfoot id='TbQHd'></tfoot>

                      <small id='TbQHd'></small><noframes id='TbQHd'>