Tagabuo ng SHA-1

5 sa 2 mga rating

Ang Tagabuo ng SHA-1 ay isang libreng tool na nagko-convert ng string sa 160-bit SHA-1 hash nito, na ipinapakita bilang 40 hexadecimal na character.

Ano ang ginagawa ng SHA-1?

Gumagawa ang SHA-1 ng fingerprint na may takdang haba mula sa input na maaaring anumang haba. One-way na proseso ang SHA-1 hashing, kaya walang nababasang kopya ng orihinal na text sa digest. Kahit maliit na pagbabago sa input ay lumilikha ng ibang 160-bit na resulta.

Dinisenyo ang SHA-1 ng US National Security Agency at inilathala ng National Institute of Standards and Technology noong 1995. Ang pangalan nito ay nangangahulugang Secure Hash Algorithm 1. Bagama't ginagamit pa rin ang pangalang iyon, hindi na itinuturing na ligtas ang SHA-1 laban sa mga collision attack.

Nagkakaroon ng SHA-1 collision kapag magkapareho ang digest ng dalawang magkaibang input. Naipakita na ng mga mananaliksik ang mga praktikal na SHA-1 collision, kaya hindi na inirerekomenda ang algorithm para sa mga digital signature, certificate, at iba pang sitwasyong maaaring sadyang baguhin ng attacker ang content.

Paano gumawa ng SHA-1 hash?

Ilagay ang eksaktong string na gusto mong i-hash, pagkatapos ay tingnan ang 40-character na hexadecimal value sa result field na SHA-1 Hash. Sa server isinasagawa ang proseso. Ipinapadala ang input mo sa server sa pamamagitan ng HTTPS at hindi ito iniimbak.

Ipinapakita ng mga karaniwang halimbawang ito ang inaasahang format at kung paano naaapektuhan ng input ang resulta:

  • Ang input na abc ay nagbibigay ng a9993e364706816aba3e25717850c26c9cd0d89d.
  • Ang empty byte string ay nagbibigay ng da39a3ee5e6b4b0d3255bfef95601890afd80709.
  • Ang input na abc , na may space sa dulo, ay nagbibigay ng hash na iba sa abc.

Mga byte ang pinoproseso ng SHA-1, hindi ang mga character na nababasa ng tao. Kasama sa bilang ang mga space, bantas, malaking titik, at line ending. Itinuturing ng Tagabuo ng SHA-1 na ito bilang mga character ang mga numerong inilalagay sa text field, kaya ang 123 ay nangangahulugang tatlong character na 1, 2, at 3.

Para sa SHA-1, kailangan munang i-encode bilang mga byte ang mga character na may accent at mga character na hindi Latin. Maaaring makagawa ang dalawang system ng magkaibang hash para sa text na mukhang magkapareho kung magkaiba ang character encoding o Unicode normalisation na ginagamit ng mga ito. Kapag itinutugma ang resulta ng SHA-1 mula sa tool na ito sa resulta ng ibang system, tiyaking pareho ang encoding ng dalawang panig, karaniwan ay UTF-8, pati ang convention para sa line ending.

Maaari bang i-decrypt o ibalik ang SHA-1?

Hindi. Hindi maaaring i-decrypt ang SHA-1 hash dahil hindi encryption ang hashing at wala itong decryption key. Sa pangkalahatan, hindi praktikal sa computational na paraan ang pagbawi ng anumang orihinal na input mula sa digest nito.

Iba naman ang usapan kapag madaling hulaan ang mga input. Maaaring kalkulahin ng attacker ang mga SHA-1 hash ng mga posibleng value mula sa isang dictionary o nabuong listahan hanggang sa makakita ng tugma. Ito ang dahilan kung bakit hindi dapat gamitin ang SHA-1 sa pag-iimbak ng mga password, kahit hindi basta-basta maibabalik ang digest mismo.

Hindi rin nagde-decrypt ng hash ang collision attack. Hinahanap nito ang dalawang magkaibang input na may iisang digest, at sapat iyon para pahinain ang mga signature at integrity check sa mga sitwasyong may banta.

Saan ginagamit pa rin ang SHA-1?

Makikita pa rin ang SHA-1 sa mga checksum na hindi nahaharap sa sinasadyang pag-atake, sa pagtukoy ng mga duplicate, at sa mga system na kailangang maging compatible sa mas lumang format. Makikita rin ang 40-character na hexadecimal representation nito sa mga lumang source-control identifier at naka-archive na software record.

  • Mga checksum: Matutukoy ng SHA-1 ang mga hindi sinasadyang pagbabago kapag nagmula sa pinagkakatiwalaang source ang inaasahang digest. Hindi nito mapatutunayan ang integrity kung kayang palitan ng attacker ang file at ang naka-publish na hash nito.
  • Deduplication: Makakatulong ito sa pagtukoy ng mga record o file na mukhang magkapareho kung hindi kasama sa threat model ang sadyang paggawa ng collision. Dapat ding ihambing ng mga system na gumagamit ng SHA-1 ang mismong pinagbabatayang data kung hindi katanggap-tanggap ang anumang collision.
  • Compatibility sa mga lumang system: Nangangailangan ang ilang database, API, at format ng file ng umiiral na SHA-1 value. Wasto namang sundin ang requirement na iyon, pero dapat gumamit ng kasalukuyang algorithm ang mga bagong disenyo.

Huwag gumamit ng plain SHA-1 para sa mga password, digital signature, paggawa o pag-sign ng mga certificate, pagbuo ng security token o authentication, o mga record ng dokumentong kailangang lumalaban sa pakikialam.

Kalagayan ng seguridad ng SHA-1 at mga pamalit dito

Hindi na maaasahan ang collision resistance ng SHA-1 sa cryptography, at hindi na ito inirerekomenda para sa mga bagong gawaing sensitibo sa seguridad. Mas maikli ang 160-bit digest nito kaysa sa mga digest na ginagawa ng mga karaniwang variant ng SHA-2 at SHA-3, pero hindi lamang haba ng digest ang dahilan para itigil ang paggamit nito. Ang napatunayang mga collision attack ang pangunahing dahilan.

Gumamit ng SHA-256 o SHA-512 para sa mga checksum na ang inaasahang value ay nagmumula sa pinagkakatiwalaang source, maliban kung iba ang hinihingi ng specification. Para sa authenticated integrity, kailangan ng angkop na MAC o digital-signature scheme. Isa ring kasalukuyang pamilya ang SHA-3. Kung partikular na kailangan ang isang 224-bit SHA-2 digest, ginagawa ng Generator ng SHA-224 ang format na iyon. Sa halip na SHA-1, kailangan ng mga password ng nakalaang password-hashing function gaya ng Argon2id, scrypt, o bcrypt.

Mga madalas itanong tungkol sa SHA-1

Magkaiba ba ang uppercase at lowercase na hexadecimal SHA-1?

Hindi. Maaaring kumatawan sa iisang 160-bit value ang uppercase at lowercase na mga hexadecimal letter. Gayunman, maaari pa ring ituring na magkaiba ang dalawang string ng isang system na nagsasagawa ng case-sensitive na paghahambing ng text, kaya panatilihin ang format na inaasahan ng system na iyon.

Maaari ko bang kalkulahin dito ang SHA-1 ng isang file?

String input ang hina-hash ng tool na ito at wala itong file upload. Para sa checksum ng file, gumamit ng lokal na utility gaya ng sha1sum sa Linux o katumbas na command na direktang nagbabasa sa mga byte ng file. Huwag i-paste ang binary content ng file sa text field ng Tagabuo ng SHA-1 na ito dahil maaaring mabago ang resulta kapag nagbago ang encoding o mga line ending.

Hindi na rin ba ligtas ang HMAC-SHA-1?

Hindi direktang sinisira ng mga naka-publish na SHA-1 collision attack ang HMAC-SHA-1 sa parehong paraan dahil gumagamit ang HMAC ng secret key at hiwalay na construction. Gayunman, karaniwang pinipili ng mga bagong protocol ang HMAC-SHA-256 o ibang kasalukuyang opsyon upang maiwasan ang pagdepende sa mga lumang teknolohiya at ang mga paghihigpit sa patakaran.

Magiging ligtas ba ang SHA-1 para sa mga password kung lalagyan ng salt?

Hindi. Pinipigilan ng salt na magkaroon ng parehong nakaimbak na SHA-1 digest ang magkaparehong password at pinahihirapan nito ang paggamit ng mga precomputed table, pero napakabilis pa rin ng SHA-1 para sa pag-iimbak ng password. Gumamit ng password-hashing function na may nako-configure na work factor at natatanging random salt.

Mga huling dapat suriin

Bago ihambing ang resulta ng SHA-1 mula sa tool na ito sa ibang hash, tingnan kung may mga nakatagong space, newline sa dulo, pagkakaiba sa character encoding, o nabagong letter case sa input. Gamitin lamang ang SHA-1 kapag kailangan ito ng umiiral na system o kapag hindi bahagi ng security requirement ang collision resistance. Para sa mga bagong disenyo, pumili ng kasalukuyang collision-resistant hash para sa mga pinagkakatiwalaang checksum, keyed MAC para sa message authentication, o angkop na digital-signature scheme.

Mga sikat na tool