<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 在 Java 中生成 SHA 或 MD5 文件校驗和哈希 > 原文: [https://howtodoinjava.com/java/io/how-to-generate-sha-or-md5-file-checksum-hash-in-java/](https://howtodoinjava.com/java/io/how-to-generate-sha-or-md5-file-checksum-hash-in-java/) 校驗和哈希是對用戶提供的內容應用某些算法和操作后獲得的加密字符序列。 在本文中,我們將學習**為文件**生成校驗和哈希。 ## 1\. 為什么我們可能要為文件生成校驗和哈希? 任何嚴肅的文件提供者都提供一種機制,以使可下載文件具有校驗和。 校驗和是一種機制的形式,可確保正確下載我們下載的文件。 校驗和就像文件有效性的證明一樣,因此**如果文件損壞,則該校驗和將更改**,因此,我們可以得知該文件不是同一文件,或者由于任何原因在傳輸之間文件都已損壞。 您還可以創建文件的校驗和,以檢測第三方對文件的任何可能更改,例如許可證文件。 您向客戶端提供許可證,這些許可證可以上傳到您的服務器。 您可以交叉驗證文件的校驗和以驗證許可證文件在創建后未被修改。 > **閱讀更多: [MD5,SHA,PBKDF2,BCrypt 示例](https://howtodoinjava.com/security/how-to-generate-secure-password-hash-md5-sha-pbkdf2-bcrypt-examples/)** ## 2\. 如何為文件生成校驗和哈希 要為文件創建校驗和,您將需要逐字節讀取文件的內容。 然后使用以下方式為其生成哈希。 此函數有兩個參數: 1. 郵件摘要算法的實現 2. 需要為其生成校驗和的文件 ```java private static String getFileChecksum(MessageDigest digest, File file) throws IOException { //Get file input stream for reading the file content FileInputStream fis = new FileInputStream(file); //Create byte array to read data in chunks byte[] byteArray = new byte[1024]; int bytesCount = 0; //Read file data and update in message digest while ((bytesCount = fis.read(byteArray)) != -1) { digest.update(byteArray, 0, bytesCount); }; //close the stream; We don't need it now. fis.close(); //Get the hash's bytes byte[] bytes = digest.digest(); //This bytes[] has bytes in decimal format; //Convert it to hexadecimal format StringBuilder sb = new StringBuilder(); for(int i=0; i< bytes.length ;i++) { sb.append(Integer.toString((bytes[i] & 0xff) + 0x100, 16).substring(1)); } //return complete hash return sb.toString(); } ``` 您可以使用以下代碼來**生成 MD5 文件校驗和**: ```java //Create checksum for this file File file = new File("c:/temp/testOut.txt"); //Use MD5 algorithm MessageDigest md5Digest = MessageDigest.getInstance("MD5"); //Get the checksum String checksum = getFileChecksum(md5Digest, file); //see checksum System.out.println(checksum); ``` 要**生成 SHA 文件校驗和**,請使用以下代碼: ```java //Use SHA-1 algorithm MessageDigest shaDigest = MessageDigest.getInstance("SHA-1"); //SHA-1 checksum String shaChecksum = getFileChecksum(shaDigest, file); ``` 如果需要更多說明,請給我評論。 學習愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看