Olùmúdásílẹ̀ Hash Ọ̀fẹ́

Ṣẹ̀dá àwọn hash SHA-1, SHA-256, àti SHA-512 láti ọ̀rọ̀ tàbí àwọn fáìlì. Ṣe àmúdájú checksum àti ìṣotitọ́ dátà.

Ó ń ṣiṣẹ́ láìsí ìsopọ̀ ní kété tí a bá kó wọlé
Ìmọ̀ràn: SHA-256 àti SHA-512 ní ìsọdì-àṣírí tí ó lágbára. SHA-1 ti gbó, a kò sì gbà á níyànjú mọ́ fún lílo tí ó ṣe pàtàkì fún ààbò. Gbogbo ìṣirò ń ṣẹlẹ̀ ládùúgbò nínú aṣàwárí rẹ — a kò rán fáìlì tàbí ọ̀rọ̀ sí ibikíbi.

Kóòdù ìdánimọ̀ àtakò-ọ̀rọ̀-ìgbaniwọlé: Ìwọ̀nyí jẹ́ kóòdù ìdánimọ̀ fún ìdí gbogbogbò — kì í ṣe ìpààrọ̀ fún ìṣirò ọ̀rọ̀-ìgbaniwọlé (lo bcrypt, Argon2, tàbí scrypt fún àwọn ọ̀rọ̀-ìgbaniwọlé). SHA-1 kò tún dára fún àwọn ẹ̀tọ́ ìṣọ̀kan tí ó ṣe pàtàkì fún ààbò.

Bí Ó Ṣe Ń Ṣiṣẹ́

Ìṣẹ̀dá hash ń ṣiṣẹ́ pátápátá nínú aṣàwákiri rẹ pẹ̀lú àdàpọ̀ ti API Web Crypto (fún SHA-1, SHA-256, SHA-384, àti SHA-512) àti àwọn àmúlò MD5 àti CRC32 tí a fi ọwọ́ kọ — nítorí API Web Crypto ń yọ àwọn algorithm àgbà méjèèjì yìí kúrò mọ̀ọ́mọ̀. A kì í gbé ọ̀rọ̀ tàbí àkóónú fáìlì sókè níbikíbi láé.

  1. 1
    A ń ka ìbáwọlé sí àwọn byte
    Fún ìbáwọlé ọ̀rọ̀, TextEncoder aṣàwákiri tí a kọ́ sínú rẹ̀ ń yí ọ̀wọ́ ọ̀rọ̀ náà padà sí ọ̀wọ́ byte UTF-8. Fún àwọn fáìlì títí dé 500 MB, ọ̀nà arrayBuffer() ti API File ń ka dátà binary gan-an náà tààrà sínú ìrántí — fáìlì náà kì í kúrò lára ẹ̀rọ rẹ láé.
  2. 2
    Algorithm mẹ́fà ń ṣiṣẹ́ ní àkókò kan náà
    A ń fi SHA-1, SHA-256, SHA-384, àti SHA-512 sí crypto.subtle.digest(), àmúlò WebCrypto abínibí aṣàwákiri náà. A ń ṣírò MD5 nípasẹ̀ àmúlò RFC 1321 tí ó dá wà tí a kọ́ sínú irinṣẹ́ náà (WebCrypto ń yọ MD5 kúrò mọ̀ọ́mọ̀); fún àwọn ìbáwọlé ńlá ó ń jọ̀wọ́ sí ìyíká ìṣẹ̀lẹ̀ ní gbogbo 4 MB nítorí náà tábù náà ń dúró ní ìdáhùn. CRC32 ń lo tábìlì ìtọ́ka IEEE 802.3 tí a ti ṣírò tẹ́lẹ̀ ti àkọlé 256 fún ìlànà byte-lé-byte kánjú.
  3. 3
    A ń fi àwọn digest hex hàn bí wọ́n ṣe parí
    A ń kọ àbájáde algorithm kọ̀ọ̀kan sí UI ní kété tí ó bá parí — àwọn algorithm tí ó yára bí i CRC32 ń farahàn ní kété tí ó fẹ́rẹ̀ẹ́ jẹ́ lẹ́sẹ̀kẹsẹ̀ nígbà tí SHA-512 lórí fáìlì ńlá lè gba àkókò díẹ̀ sí i. Gbogbo mẹ́fà ń ṣiṣẹ́ papọ̀ nípasẹ̀ Promise.all, nítorí náà àkókò ìdúró àpapọ̀ ni a pinnu láti ọwọ́ algorithm tí ó lọ́ra jùlọ, kì í ṣe láti àpapọ̀ wọn.
  4. 4
    Ìfọwọ́sí checksum yíyàn
    Lẹ̀ checksum tí a mọ̀ sí pápá ìfọwọ́sí, irinṣẹ́ náà yóò sì fi wé gbogbo digest mẹ́fà tí a ṣírò. Ó ń dá algorithm tí ó bá mu (tàbí tí ó yẹ kí ó bá mu) mọ̀ láifọwọ́kàn nípa kíka àwọn àmì hex — àmì 32 ń fi hàn MD5, 40 ń fi hàn SHA-1, 64 ń fi hàn SHA-256, àti bẹ́ẹ̀ bẹ́ẹ̀ lọ — kí ó sì fi ìròyìn ìbámu, àìbámu, tàbí gígùn tí a kò dá mọ̀ hàn.

A ń ṣiṣẹ́ ọ̀rọ̀ àti àwọn fáìlì rẹ pátápátá nínú aṣàwákiri rẹ — a kì í fi ohunkóhun ránṣẹ́ sí sáfà, kí a kọ ọ́ sílẹ̀, tàbí kí a fi í pamọ́ ju ìjókòó ojú-ìwé lọ́wọ́lọ́wọ́ lọ.

Àwọn Irinṣẹ Tó Jọra

Àwọn Ìbéèrè Tí A Máa Ń Béèrè