驗收3

DKY——仰望星空發表於2024-05-27

實現的功能

使用者管理模組:使用者註冊、登入、許可權管理等。
公文管理模組:公文的建立、編輯、刪除等。
審批流程模組:公文的審批流程設計,包括多級審批、並行審批等。
通知模組:公文的分發和通知功能。
存檔模組:公文的存檔和查詢功能。

詳細描述專案中為了實現GMT0054標準完成的工作

在專案中,我們的工作重點是實現基於GMT0054標準的密碼學演算法。為此,我們完成了以下主要任務:

  1. 引入加密庫

    • 使用BouncyCastle庫來實現密碼學演算法。BouncyCastle提供了各種符合GMT0054標準的加密演算法,如SM3和SM4。
    • 透過Security.addProvider(new BouncyCastleProvider())將BouncyCastle庫新增到安全提供者列表中,以便使用其提供的加密演算法。
  2. 實現SM3雜湊演算法

    • SM3是一種密碼學雜湊函式,我們透過BouncyCastle庫中的SM3Digest類實現了該演算法。
    • 建立了一個SM3SaltHelper工具類,用於生成隨機鹽值、拼接資料並計算SM3雜湊值。
  3. 實現SM4加密演算法

    • SM4是一種對稱加密演算法,我們透過BouncyCastle庫中的Cipher類和SecretKeySpec類實現了該演算法。
    • 建立了一個SM4Tools工具類,用於對檔案進行加密和解密操作。
  4. 資料加鹽處理

    • 在雜湊計算中,為了增強安全性,我們生成了隨機鹽值,並將其與原始資料進行拼接。
    • 透過generateSalt()方法生成鹽值,concatBytes()方法將資料與鹽值拼接在一起。
  5. 檔案加密和解密

    • 實現了對檔案的加密和解密操作,包括讀取檔案、加密檔案內容、寫入加密後的檔案以及解密檔案內容。
    • 透過encodeFile()decodeFile()方法對檔案進行加密和解密。

工作內容和標準的對應情況

  • SM3雜湊演算法的實現:符合GMT0054標準中關於雜湊函式的規定,確保資料完整性和抗篡改性。

    • SM3SaltHelper類中的calculateHash()方法實現了SM3雜湊演算法。
  • SM4對稱加密演算法的實現:符合GMT0054標準中關於對稱加密演算法的規定,確保資料的保密性。

    • SM4Tools類中的encode()decode()方法實現了SM4加密和解密。
  • 資料加鹽處理:符合密碼學安全增強措施,防止彩虹表攻擊。

    • SM3SaltHelper類中的generateSalt()concatBytes()方法實現了資料加鹽處理。
  • 檔案加密和解密:符合資料保護標準中的檔案加密和解密要求。

    • SM4Tools類中的encodeFile()decodeFile()方法實現了檔案的加密和解密。

專案程式碼和標準的對應情況

  • SM3SaltHelper 類

    • generateSalt(): 符合GMT0054標準的隨機鹽值生成。
    • concatBytes(): 資料與鹽值拼接。
    • calculateHash(): 實現SM3雜湊演算法。
    • encrypt()entryptSM3Password(): 實現帶鹽值的SM3加密。
  • SM4Tools 類

    • encodeFile(): 實現檔案加密,符合GMT0054標準的對稱加密要求。
    • encode(): 實現SM4加密。
    • decodeFile(): 實現檔案解密,符合GMT0054標準的對稱解密要求。
    • decode(): 實現SM4解密。

透過這些工作,我們確保了專案中的加密演算法和雜湊演算法符合GMT0054標準的要求,從而提高了資料的安全性和完整性。

相關文章