狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

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

C#基礎(chǔ)之如何利用哈希加密算法判斷兩個(gè)文件內(nèi)容是否相同

admin
2021年6月28日 15:2 本文熱度 4626

使用System.security.Cryptography.HashAlgorithm類(lèi)為每個(gè)文件生成一個(gè)哈希碼,然后比較兩個(gè)哈希碼是否相同。

該哈希算法為一個(gè)文件生成一個(gè)小的二進(jìn)制“指紋”,從統(tǒng)計(jì)學(xué)的角度來(lái)看,不同的文件不可能生成相同的哈希碼要生成一個(gè)哈希碼,必須首先創(chuàng)建一個(gè)HashAlgorithm對(duì)象,通過(guò)HashAlgorithm.Create方法來(lái)完成。然后調(diào)用HashAlgorithm.ComputeHash方法,它會(huì)返回一個(gè)存儲(chǔ)哈希碼的字節(jié)數(shù)組,再使用BitConverter.Tostring()將其裝換為字符串進(jìn)行比較。

源碼如下:

public static bool isValidFileContent(string filePath1, string filePath2)

{

//創(chuàng)建一個(gè)哈希算法對(duì)象

using (HashAlgorithm hash = HashAlgorithm.Create())

{

using (FileStream file1 = new FileStream(filePath1, FileMode.Open),file2=new FileStream(filePath2,FileMode.Open))

{

byte[] hashByte1 = hash.ComputeHash(file1);//哈希算法根據(jù)文本得到哈希碼的字節(jié)數(shù)組

byte[] hashByte2 = hash.ComputeHash(file2);

string str1 = BitConverter.ToString(hashByte1);//將字節(jié)數(shù)組裝換為字符串

string str2 = BitConverter.ToString(hashByte2);

return (str1==str2);//比較哈希碼

}

}

}

使用該函數(shù)的主函數(shù)

static void Main(string[] args)

{

string filePath1 = @"f:/1.txt";

string filePath2 = @"f:/2.txt";

bool valid=isValidFileContent(filePath1, filePath2);

Console.WriteLine(valid.ToString());

Console.ReadKey();

}


該文章在 2021/6/29 12:08:20 編輯過(guò)

全部評(píng)論1

admin
2021年6月29日 12:7
public static bool isValidFileContent(string filePath, string hashStr)
{
    //創(chuàng)建一個(gè)哈希算法對(duì)象
    using (HashAlgorithm hash = HashAlgorithm.Create())
    {
        using (FileStream fileStr = new FileStream(filePath, FileMode.Open))
        {
            byte[] hashByte = hash.ComputeHash(fileStr);//哈希算法根據(jù)文本得到哈希碼的字節(jié)數(shù)組
            string tempStr = BitConverter.ToString(hashByte);//將字節(jié)數(shù)組裝換為字符串
            return (tempStr == hashStr);//比較哈希碼
        }
    }
}

public static string getFileHashStr(string filePath)
{
    //創(chuàng)建一個(gè)哈希算法對(duì)象
    string tempStr = "";
    using (HashAlgorithm hash = HashAlgorithm.Create())
    {
        try
        {
            using (FileStream fileStr = new FileStream(filePath, FileMode.Open))
            {
                byte[] hashByte = hash.ComputeHash(fileStr);//哈希算法根據(jù)文本得到哈希碼的字節(jié)數(shù)組
                tempStr = BitConverter.ToString(hashByte);//將字節(jié)數(shù)組裝換為字符串
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("操作失敗,出現(xiàn)錯(cuò)誤:\r\n" + ex.Message, "系統(tǒng)提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
    return tempStr;//比較哈希碼
}

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