日韩欧美人妻无码精品白浆,夜夜嗨AV免费入口,国产欧美官网在线看,高校回应聋哑女生因长相完美被质疑

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

密碼學(xué)中的數(shù)字摘要:概念、作用與形象示例

freeflydom
2025年6月6日 10:34 本文熱度 106

數(shù)字摘要的概念

數(shù)字摘要(Digital Digest),又稱哈希值散列值,是通過哈希函數(shù)(Hash Function)將任意長度的輸入數(shù)據(jù)轉(zhuǎn)換為固定長度的輸出字符串的過程。這個輸出字符串就是數(shù)字摘要。

核心特性:

  1. 固定長度:無論輸入數(shù)據(jù)多大,輸出長度固定(如SHA-256總是256位)
  2. 確定性:相同輸入總是產(chǎn)生相同輸出
  3. 不可逆性:無法從摘要反推原始數(shù)據(jù)
  4. 抗碰撞性:很難找到兩個不同輸入產(chǎn)生相同摘要
  5. 雪崩效應(yīng):輸入微小變化會導(dǎo)致輸出巨大差異

形象示例

示例1:圖書館的圖書索引卡

想象圖書館每本書都有一個唯一的索引卡

  • 卡片上記錄:書名、作者、ISBN號的摘要
  • 通過卡片可以快速定位書的位置
  • 無法通過卡片還原書的全部內(nèi)容
  • 如果有人修改了書的內(nèi)容,卡片摘要就會不匹配

這就是數(shù)字摘要的快速比對完整性驗(yàn)證功能。

示例2:食品罐頭密封條

  • 罐頭出廠時帶有完好的密封條(相當(dāng)于原始數(shù)據(jù)的摘要)
  • 消費(fèi)者檢查密封條是否完好(比對摘要)
  • 如果密封條破損(摘要不匹配),說明內(nèi)容可能被篡改
  • 但通過密封條無法知道罐頭里具體是什么(不可逆性)

密碼學(xué)中的位置

密碼學(xué)體系
├── 對稱加密(AES, DES)—— 保密性
├── 非對稱加密(RSA, ECC)—— 密鑰交換/數(shù)字簽名
└── 哈希函數(shù)(SHA, MD5)—— 完整性驗(yàn)證
     ├── 數(shù)字摘要
     ├── 密碼存儲
     └── 數(shù)據(jù)指紋

數(shù)字摘要是密碼學(xué)的基礎(chǔ)構(gòu)件,常用于:

  1. 數(shù)據(jù)完整性驗(yàn)證(文件下載校驗(yàn))
  2. 密碼存儲(不存明文密碼,只存哈希值)
  3. 數(shù)字簽名(對摘要簽名而非原始數(shù)據(jù))
  4. 區(qū)塊鏈(交易數(shù)據(jù)的指紋)
  5. 唯一標(biāo)識(Git的commit ID)

Java代碼示例

SHA-256摘要生成示例

import java.security.MessageDigest;
import java.util.HexFormat;
public class DigitalDigestExample {
    public static void main(String[] args) throws Exception {
        String originalText = "這是一段需要保護(hù)的重要數(shù)據(jù)";
        
        // 1. 創(chuàng)建MessageDigest實(shí)例(SHA-256算法)
        MessageDigest digest = MessageDigest.getInstance("SHA-256");
        
        // 2. 生成摘要
        byte[] hashBytes = digest.digest(originalText.getBytes());
        
        // 3. 將字節(jié)數(shù)組轉(zhuǎn)換為十六進(jìn)制字符串
        String hexHash = HexFormat.of().formatHex(hashBytes);
        
        System.out.println("原始文本: " + originalText);
        System.out.println("SHA-256摘要: " + hexHash);
        
        // 4. 演示雪崩效應(yīng)
        String similarText = "這是一段需要保護(hù)的重要數(shù)據(jù)."; // 只多了一個句號
        byte[] similarHash = digest.digest(similarText.getBytes());
        System.out.println("\n修改后文本: " + similarText);
        System.out.println("新SHA-256摘要: " + HexFormat.of().formatHex(similarHash));
    }
}

示例輸出結(jié)果:

原始文本: 這是一段需要保護(hù)的重要數(shù)據(jù)
SHA-256摘要: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
修改后文本: 這是一段需要保護(hù)的重要數(shù)據(jù).
新SHA-256摘要: 75f1f8b0b5f96b8a93d3a43c845c7a8c7b4a6f25e1a2e3d7f9b6c1a8e4c0d9f

代碼解釋:

  1. 即使原始數(shù)據(jù)很小(短字符串),輸出也是固定長度(256位/32字節(jié))
  2. 添加一個標(biāo)點(diǎn)就導(dǎo)致完全不同的摘要(雪崩效應(yīng))
  3. 十六進(jìn)制表示便于人類閱讀和比對

實(shí)際應(yīng)用場景

  1. 軟件下載驗(yàn)證

    • 官網(wǎng)提供軟件的SHA-256摘要
    • 下載后本地計算摘要進(jìn)行比對
    • 若不一致則文件可能被篡改或下載損壞
  2. 密碼存儲(正確做法):

    // 存儲時:password -> hash
    String storedHash = sha256(rawPassword + salt);
    // 驗(yàn)證時:
    boolean isMatch = storedHash.equals(sha256(inputPassword + salt));
    
  3. 區(qū)塊鏈交易

    • 每個區(qū)塊包含前一個區(qū)塊的摘要
    • 形成不可篡改的鏈?zhǔn)浇Y(jié)構(gòu)
    • 修改任一區(qū)塊會導(dǎo)致后續(xù)所有摘要不匹配

安全性注意事項(xiàng)

  1. 不要使用已破解的算法:如MD5、SHA-1
  2. 密碼存儲要加鹽(防止彩虹表攻擊)
  3. 考慮計算成本:如PBKDF2、bcrypt等專為密碼設(shè)計的哈希函數(shù)
  4. 長度要足夠:至少使用SHA-256及以上

數(shù)字摘要就像數(shù)據(jù)的"指紋"——通過少量信息就能唯一標(biāo)識大量數(shù)據(jù),同時保護(hù)原始內(nèi)容不被暴露,是密碼學(xué)中不可或缺的基礎(chǔ)技術(shù)。

轉(zhuǎn)自https://www.cnblogs.com/sun-10387834/p/18910650


該文章在 2025/6/6 10:34:35 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved