Kaip sugeneruoti MD5 failo maišą Node.js?

Kaip Sugeneruoti Md5 Failo Maisa Node Js



MD5 maiša “ atlieka gyvybiškai svarbų vaidmenį užtikrinant kūrėjo duomenų saugumą, išlaikant duomenų vientisumą. Taip yra, kad Node.js “ kriptovaliuta biblioteka naudojama failų maišos reikšmėms apskaičiuoti, pvz. MD5 “, kad patikrintumėte perdavimo ar saugojimo vientisumą. Šis metodas padeda patvirtinti, kad kūrėjas turi pažeidžiamumą arba failų klastojimą, taip užtikrinant duomenų saugumą.

Turinio apžvalga

Kas yra MD5 failų maišymas?

MD5 “ yra vienpusė funkcija, kuri kaip įvestį priima bet kokio tipo duomenis ir susieja juos su fiksuoto dydžio išvesties eilute, neatsižvelgiant į nurodytos eilutės dydį. Maišos funkcija sukuria tokią pačią / identišką išvesties maišą pateiktai eilutei.

Ji yra tokia, kad ši eilutė gali būti naudojama failams arba tekstui patvirtinti, kai jie praeina per tinklą, o MD5 patikrina, ar duomenys galioja, ar ne. Žemiau yra demonstracija:







Įvesties vertė Grąžinta maišos vertė
JavaScript 686155af75a60a0f6e9d80c1f7edd3e9
Liam*88 c9c77fd293a9bb6d172e36a4a04053ea

Būtinos sąlygos generuoti MD5 failo maišą „JavaScript“.

Toliau pateikiamos būtinos sąlygos, į kurias reikia atsižvelgti prieš generuojant MD5 failo maišą:



1 veiksmas: nustatykite projektą

Pirmiausia inicijuokite projektą su numatytosiomis reikšmėmis (per ' - ir “ vėliavėlė) naudodami šią cmdlet:



npm init - ir





Premijos patarimas: Sukurti ' šablonas.cjs “ failą vietoj „ šablonas.js ' failą, kad išvengtumėte ' modulis “ tipo klaidos.

2 veiksmas: sukurkite tekstinį failą

Sukurkite tekstinį failą ' textfile.txt “, kad sugeneruotumėte MD5 maišos reikšmę iš failo turinio. Toliau pateikiamas vertintinas failo turinys:



Taip pat atkreipkite dėmesį, kad „ kriptovaliuta “ modulis bus reikalingas. Kadangi tai yra įtaisytas Node.js modulis, nereikia jo diegti ar konfigūruoti. Žemiau yra demonstracija:

npm įdiegti kriptovaliutą

Čia akivaizdu, kad nereikia diegti šio modulio atskirai.

Kaip sugeneruoti MD5 failo maišą Node.js?

MD5 failo maišą galima sugeneruoti naudojant „ kriptovaliuta “ modulis ir jo metodai, tokie kaip „ CreateHash() “ ir „ suvirškinti () “. Šiame modulyje pateikiami kriptografiniai metodai, leidžiantys užtikrinti duomenų saugumą Node.js.

Naudojami bendri MD5 failo maišos generavimo metodai Node.js

Toliau pateikiami metodai, dažniausiai naudojami failo md5 maišos generavimui:

readFileSync(): Šis metodas naudojamas failams skaityti sinchroniniu būdu.

Sintaksė

fs. skaitykite failų sinchronizavimą ( pt, opt )

Nurodytoje sintaksėje:

  • pt “ nurodo santykinį tekstinio failo kelią.
  • opt “ yra pasirenkamas parametras, kurį sudaro kodavimas ir vėliavėlė.

Grąžinimo vertė

Jis paima failo turinį.

CreateHash (): Šis metodas sukuria maišos objektą, kad būtų sukurtos maišos santraukos.

Sintaksė

kriptovaliuta. sukurti Hash ( alg, opt )

Šioje sintaksėje:

  • alg “ nurodo priklausomybę nuo prieinamų algoritmų, kuriuos mėgsta OpenSSL versija.
  • opt “ yra pasirenkamas parametras, valdantis srauto elgesį.

Grąžinimo vertė

Jis nuskaito Hash objektą.

hash.digest(): Šis metodas sukuria santraukos duomenis, perduodamus kuriant maišą.

Sintaksė

maišos. virškinti ( [ enc ] )

Čia, ' enc “ nurodo kodavimo tipą, kuris gali būti “ šešiakampis “ arba „ bazė64 “.

Grąžinimo vertė

Jis nuskaito perduotos koduotės eilutę.

1 pavyzdys: MD5 failo maišos generavimas naudojant Node.js

Šis pavyzdys sugeneruoja failo turinio md5 maišą naudojant „ kriptovaliuta “ ir „ fs “ moduliai:

konst gauti1 = reikalauti ( 'kriptovaliuta' ) ;

konst gauti2 = reikalauti ( 'fs' ) ;

konst readmd5 = gauti2. skaitykite failų sinchronizavimą ( 'teksto failas.txt' ) ;

konst išeiti = gauti1. sukurti Hash ( 'md5' ) . atnaujinti ( readmd5 ) . virškinti ( 'hex' ) ;

konsolė. žurnalas ( 'MD5 maišos failas ->' + išeiti ) ;

Kodo paaiškinimas yra toks:

  • Pirmiausia importuokite „ kriptovaliuta “ ir „ fs “ modulius atitinkamai generuoti md5 maišą ir dirbti su failais.
  • Dabar pritaikykite „ readFileSync() “ metodą, kad sinchroniškai nuskaitytų nurodytą failą.
  • Po to pritaikykite „ CreateHash() “ metodas sukurti md5 maišos objektą, nurodantį failą.
  • Nurodytas ' šešiakampis “ vertė kaip “ suvirškinti () “ metodo parametras nurodo kodavimo tipą.
  • Galiausiai gaukite atitinkamo failo md5 maišą.

Išvestis

Vykdykite šią cmdlet, kad sugeneruotumėte md5 failo maišą:

mazgo šablonas. cjs

Šis rezultatas reiškia, kad tikslinio failo md5 maiša grąžinama tinkamai.

2 pavyzdys: MD5 failo maišos generavimas ir failo skaitymas Node.js

Šioje demonstracijoje failo md5 maišą galima gauti kartu su failo turinio skaitymu:

var include1 = reikalauti ( 'fs' ) ;

buvo įtraukta2 = reikalauti ( 'kriptovaliuta' ) ;

var getHash = ( turinys ) => {

var genHash = įtraukti2. sukurti Hash ( 'md5' ) ;

duomenis = genHash. atnaujinti ( turinys, 'utf-8' ) ;

išeiti = duomenis. virškinti ( 'hex' ) ;

grąžinti išeiti ;

}

var readFile = įtraukti1. sukurti „ReadStream“. ( 'textfile.txt' ) ;

kalkių sąskaita = ''

skaityti failą. įjungta ( 'duomenys' , funkcija ( gabalas ) {

tęsinys += gabalas ;

} ) ;

skaityti failą. įjungta ( 'klaida' , funkcija ( klysti ) {

konsolė. žurnalas ( klysti ) ;

} ) ;

skaityti failą. įjungta ( 'galas' ,funkcija ( ) {

var turinys = gautiHash ( tęsinys ) ;

konsolė. žurnalas ( 'Failo turinys -> \n ' + tęsinys ) ;

konsolė. žurnalas ( 'MD5 maišos failas ->' + turinys ) ;

} ) ;

Pagal šį kodo bloką atlikite toliau nurodytus veiksmus:

  • Taip pat įtraukite aptartus modulius.
  • Dabar perduokite duomenis, kuriems reikia maišos, sukurdami md5 maišos objektą ir nurodydami „ šešiakampis “ formatu.
  • Po to sukurkite skaitymo srautą, kad perskaitytumėte nurodyto failo turinį.
  • Eidami į priekį, perskaitykite failo turinį ir susidurkite su klaidomis, jei tokių yra.
  • Galiausiai iškvieskite „ getHash () “ metodas, skirtas apskaičiuoti failo turinio md5 maišą.

Išvestis

Paleiskite toliau pateiktą kodą, kad gautumėte failo turinio md5 maišą:

mazgo šablonas. cjs

Iš šio rezultato galima numanyti, kad failo turinys kartu su failo md5 maiša rodomas tinkamai.

1 alternatyvus metodas: eilutės MD5 maišos generavimas Node.js

Šis kodo demonstravimas generuoja eilutės vertės md5 maišą:

buvo stringai = 'Linux' ;

kalkės apima = reikalauti ( 'kriptovaliuta' ) ;

var makeHash = įtraukti. sukurti Hash ( 'md5' ) . atnaujinti ( styga ) . virškinti ( 'hex' ) ;

konsolė. žurnalas ( 'MD5 eilutės maiša ->' + makeHash ) ;

Šiame kode:

  • Inicijuokite eilutę, pagal kurią turi būti nuskaityta md5 maišos reikšmė, ir įtraukite „ kriptovaliuta “ modulis.
  • Po to taip pat naudokite „ CreateHash() “ ir „ suvirškinti () “ metodai sukurti maišos objektą ir gauti eilutę, atsižvelgiant į perduotą kodavimo tipą, ty „hex“.
  • Galiausiai grąžinkite apibrėžtos eilutės maišą md5.

Išvestis

mazgo šablonas. cjs

2 alternatyvus metodas: slaptažodžio MD5 maišos generavimas Node.js

Šiame pavyzdyje vietoj to galima gauti slaptažodžio MD5 maišą:

buvo stringai = '123*adQe&' ;

kalkės apima = reikalauti ( 'kriptovaliuta' ) ;

var makeHash = įtraukti. sukurti Hash ( 'md5' ) . atnaujinti ( styga ) . virškinti ( 'hex' ) ;

konsolė. žurnalas ( 'MD5 slaptažodžio maiša ->' + makeHash ) ;

Čia nurodykite slaptažodį ir pakartokite aptartus veiksmus, kad įtrauktumėte „ kriptovaliuta “ modulį ir taikant kombinuotą “ atnaujinti () “ ir „ suvirškinti () “ metodus, kaip sugeneruoti slaptažodžio md5 maišą.

Išvestis

Vykdant šią cmdlet sugeneruojama slaptažodžio md5 maiša:

mazgo šablonas. cjs

Išvada

Failo MD5 maišą galima sugeneruoti įdiegus ir importuojant „ kriptovaliuta “ modulį ir naudojant jo metodus, tokius kaip „ CreateHash() “ ir „ suvirškinti () “ ir tt Be to, taip pat galima sugeneruoti apibrėžtos eilutės arba slaptažodžio md5 maišą. Tai iš esmės apsaugo duomenis šifruodama juos pagal perduotą kodavimo formatą.