標準 DES 演算法實現網路上已眾多,但鮮有工具能直觀展示加密過程中 16 輪迭代產生的中間值(Ki, Li, Ri, Fi, Si)。本文呈現一款基於 VC6.0 的 DES 算法查看器,不僅能完成加密,更能逐輪記錄並顯示所有關鍵中間變量,堪稱調試加密邏輯的「對照儀」。
主介面採用列表框呈現 16 輪迭代概覽,點選某輪即在下方編輯框顯示完整二進制細節,支援複製導出。核心功能:
在 OnInitDialog 中啟用全列選取與網格線,插入 6 欄:輪次、L0、R0、F函數值、密鑰Ki、S盒值。
明文逐字元轉 8 位二進制,檢測高位位元識別中文;長度不足 8 直接報錯,不做零填充。
採用 Iterate(int num) 統一處理加密/解密迭代,關鍵步驟:
SaveToList() 將本輪所有中間值存入列表SaveToList() 將二進制陣列轉字串寫入列表各欄;OnItemchangedList1 響應點選事件,將對應欄位完整二進制串填入下方編輯框。
迭代邏輯集中管理,加解密共用代碼路徑;中間值即時保存避免後續輪次覆蓋;介面交互分離,列表僅顯示摘要,細節按需加載。完整源碼附於文末,可作為 DES 學習與調試的參考實現。