Jifunze Jinsi ya Kuzalisha na Kuthibitisha Faili kwa MD5 Checksum katika Linux


Cheki ni tarakimu ambayo hutumika kama jumla ya tarakimu sahihi katika data, ambayo inaweza kutumika baadaye kutambua hitilafu katika data wakati wa kuhifadhi au kutuma. Hesabu za MD5 (Muhtasari wa Ujumbe 5) zinaweza kutumika kama hundi ili kuthibitisha faili au mifuatano katika mfumo wa faili wa Linux.

Jumla ya MD5 ni mifuatano ya herufi 128 (nambari na herufi) inayotokana na kuendesha algoriti ya MD5 dhidi ya faili mahususi. Algorithm ya MD5 ni chaguo la kukokotoa la heshi maarufu ambalo huzalisha muhtasari wa ujumbe wa 128-bit unaojulikana kama thamani ya hashi, na unapotengeneza moja kwa faili fulani, huwa haibadilishwi kwenye mashine yoyote bila kujali idadi ya mara inatolewa.

Kwa kawaida ni vigumu sana kupata faili mbili tofauti zinazosababisha mifuatano sawa. Kwa hivyo, unaweza kutumia md5sum kuangalia uadilifu wa data ya kidijitali kwa kubainisha kuwa faili au ISO uliyopakua ni nakala ya kidogo-kwa-bit ya faili ya mbali au ISO.

Katika Linux, programu ya md5sum inakokotoa na kuangalia thamani za MD5 za faili. Ni sehemu ya kifurushi cha GNU Core Utilities, kwa hivyo huja kikiwa kimesakinishwa awali kwenye nyingi, ikiwa si usambazaji wote wa Linux.

Angalia maudhui ya /etc/group yaliyohifadhiwa kama groups.cvs hapa chini.

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,aaronkilik
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:aaronkilik
floppy:x:25:
tape:x:26:
sudo:x:27:aaronkilik
audio:x:29:pulse
dip:x:30:aaronkilik

Amri ya md5sums hapa chini itatoa thamani ya hashi kwa faili kama ifuatavyo:

$ md5sum groups.csv

bc527343c7ffc103111f3a694b004e2f  groups.csv

Unapojaribu kubadilisha yaliyomo kwenye faili kwa kuondoa laini ya kwanza, root:x:0: kisha utekeleze amri kwa mara ya pili, jaribu kuchunguza thamani ya heshi:

$ md5sum groups.csv

46798b5cfca45c46a84b7419f8b74735  groups.csv

Utagundua kuwa thamani ya heshi sasa imebadilika, ikionyesha kuwa yaliyomo kwenye faili yalibadilishwa.

Sasa, rudisha mstari wa kwanza wa faili, root:x:0: na uipe jina jipya group_file.txt na utekeleze amri iliyo hapa chini ili kutoa thamani yake ya heshi tena:

$ md5sum groups_list.txt

bc527343c7ffc103111f3a694b004e2f  groups_list.txt

Kutoka kwa pato hapo juu, thamani ya hashi bado ni sawa hata wakati faili imebadilishwa jina, na yaliyomo asili.

Muhimu: Jumla ya md5 huthibitisha/hufanya kazi tu na yaliyomo kwenye faili badala ya jina la faili.

Faili ya groups_list.txt ni nakala ya groups.csv, kwa hivyo, jaribu kutoa thamani ya hashi ya faili kwa wakati mmoja kama ifuatavyo.

Utaona kwamba wote wawili wana thamani sawa za hashi, hii ni kwa sababu wana maudhui sawa.

$ md5sum groups_list.txt  groups.csv 

bc527343c7ffc103111f3a694b004e2f  groups_list.txt
bc527343c7ffc103111f3a694b004e2f  groups.csv

Unaweza kuelekeza thamani ya heshi ya faili kwenye faili ya maandishi na kuhifadhi, kuzishiriki na wengine. Kwa faili mbili zilizo hapo juu, unaweza kutoa amri hapa chini kuelekeza maadili ya hashi yaliyotolewa kwenye faili ya maandishi kwa matumizi ya baadaye:

$ md5sum groups_list.txt  groups.csv > myfiles.md5

Ili kuangalia kuwa faili hazijarekebishwa tangu uunda cheki, endesha amri inayofuata. Unapaswa kuwa na uwezo wa kuona jina la kila faili pamoja na \Sawa.

Chaguo la -c au --check huambia md5sums amri ya kusoma hesabu za MD5 kutoka kwa faili na kuziangalia.

$ md5sum -c myfiles.md5

groups_list.txt: OK
groups.csv: OK

Kumbuka kwamba baada ya kuunda checksum, huwezi kubadili jina la faili au sivyo utapata \Hakuna faili au saraka kama hiyo kosa, unapojaribu kuthibitisha faili kwa majina mapya.

Kwa mfano:

$ mv groups_list.txt new.txt
$ mv groups.csv file.txt
$ md5sum -c  myfiles.md5
md5sum: groups_list.txt: No such file or directory
groups_list.txt: FAILED open or read
md5sum: groups.csv: No such file or directory
groups.csv: FAILED open or read
md5sum: WARNING: 2 listed files could not be read

Wazo pia hufanya kazi kwa mifuatano sawa, katika amri zilizo hapa chini, -n inamaanisha usitoe laini mpya inayofuata:

$ echo -n "Tecmint How-Tos" | md5sum - 

afc7cb02baab440a6e64de1a5b0d0f1b  -
$ echo -n "Tecmint How-To" | md5sum - 

65136cb527bff5ed8615bd1959b0a248  -

Katika mwongozo huu, nilikuonyesha jinsi ya kutoa maadili ya hashi kwa faili, tengeneza hundi kwa uthibitishaji wa baadaye wa uadilifu wa faili katika Linux. Ingawa udhaifu wa kiusalama katika algoriti ya MD5 umegunduliwa, heshi za MD5 bado zinaendelea kuwa muhimu hasa ikiwa unamwamini mhusika anayeziunda.

Kwa hivyo, kuthibitisha faili ni kipengele muhimu cha kushughulikia faili kwenye mifumo yako ili kuepuka kupakua, kuhifadhi au kushiriki faili zilizoharibika. Mwisho kabisa, kama kawaida tuwasiliane kupitia fomu ya maoni iliyo hapa chini ili kutafuta usaidizi wowote, unaweza pia kutoa mapendekezo muhimu ili kuboresha chapisho hili.