Node.js'de MD5 Dosya Karması Nasıl Oluşturulur?

Node Js De Md5 Dosya Karmasi Nasil Olusturulur



MD5 karması ”, veri bütünlüğünü koruyarak geliştiricinin verilerinin güvenliğinin sağlanmasında hayati bir rol oynar. Öyle ki Node.js “ kripto ” kütüphanesi, dosyalar için hash değerlerini hesaplamak için kullanılır, örneğin “ MD5 İletimin veya depolamanın bütünlüğünü doğrulamak için. Bu yaklaşım, geliştiricinin güvenlik açıklarını veya dosyalardaki tahrifatları onaylamasına yardımcı olur ve böylece verileri güvende tutar.

İçeriğe Genel Bakış

MD5 Dosya Hashing'i nedir?

MD5 ”, herhangi bir türdeki veriyi girdi olarak alan ve verilen dizenin boyutundan bağımsız olarak onu sabit boyutlu bir çıktı dizesiyle eşleyen tek yönlü bir işlevdir. Hash işlevi, sağlanan dize için aynı/aynı çıktı karmasını oluşturur.

Öyle ki bu dizi, ağ üzerinden geçen dosya veya metinlerin doğrulanması için kullanılabilir ve MD5, verinin geçerli olup olmadığını doğrular. Gösteri aşağıdadır:







Girdi değeri Döndürülen Hash Değeri
JavaScript 686155af75a60a0f6e9d80c1f7edd3e9
Liam*88 c9c77fd293a9bb6d172e36a4a04053ea

JavaScript'te MD5 Dosya Karması Oluşturmanın Önkoşulları

Bir MD5 dosyası karması oluşturmadan önce dikkate alınması gereken önkoşullar şunlardır:



Adım 1: Projeyi Kurun

Öncelikle projeyi varsayılan değerlerle başlatın (“ -Ve ” flag) aşağıdaki cmdlet'i kullanarak:



npm başlangıcı - Ve





Bonus İpucu: Oluşturmak ' şablon.cjs “dosyası yerine” şablon.js “ önlemek için ” dosyası modül ”yazım hataları.

Adım 2: Bir Metin Dosyası Oluşturun

Metin dosyasını oluşturun ' metin dosyası.txt Dosya içeriğinden MD5 karma değerini oluşturmak için. Değerlendirilecek dosya içeriği aşağıdadır:



Ayrıca şunu da unutmayın: ' kripto ” modülü gerekli olacaktır. Node.js'nin yerleşik bir modülü olduğundan, onu yüklemeye veya yapılandırmaya gerek yoktur. Gösteri aşağıdadır:

npm kriptoyu yükle

Buradan bu modülü ayrıca kurmanıza gerek olmadığı anlaşılmaktadır.

Node.js'de MD5 Dosya Karması Nasıl Oluşturulur?

Bir dosyanın MD5 karması “ yardımıyla oluşturulabilir. kripto ” modülü ve “ gibi yöntemleri createHash() ' Ve ' sindirmek() ”. Bu modül, Node.js'deki verileri güvenli hale getirmek için şifreleme yöntemleri sağlar.

Node.js'de MD5 Dosya Karması Oluşturmak için Kullanılan Ortak Yöntemler

Dosyanın md5 karmasını oluşturmak için yaygın olarak kullanılan yöntemler şunlardır:

readFileSync(): Bu yöntem dosyaları senkronize bir şekilde okumak için kullanılır.

Sözdizimi

fs. dosya senkronizasyonunu oku ( pt, tercih )

Verilen sözdiziminde:

  • puan ” metin dosyasının göreceli yolunu ifade eder.
  • tercih ”, kodlamayı ve bayrağı içeren isteğe bağlı bir parametredir.

Geri dönüş değeri

Dosyanın içeriğini getirir.

createHash(): Bu yöntem karma özetlerini oluşturmak için bir karma nesnesi oluşturur.

Sözdizimi

kripto. createHash ( alg, seç )

Bu sözdiziminde:

  • alg ”, OpenSSL sürümünün tercih ettiği erişilebilir algoritmalara bağımlılığı belirtir.
  • tercih ”, akış davranışını kontrol eden isteğe bağlı bir parametredir.

Geri dönüş değeri

Hash nesnesini alır.

hash.digest(): Bu yöntem, karma oluştururken iletilen özetin verilerini oluşturur.

Sözdizimi

doğramak. sindirmek ( [ enc ] )

Burada, ' enc ”,“ olabilecek kodlama tipini belirtir altıgen ' veya ' temel64 ”.

Geri dönüş değeri

Geçirilen kodlamanın dizesini alır.

Örnek 1: Node.js'de MD5 Dosya Karması Oluşturma

Bu örnek, “” kullanarak dosya içeriğinin bir md5 karmasını oluşturur. kripto ' Ve ' fs ” modülleri:

yapı al1 = gerekmek ( 'kripto' ) ;

yapı al2 = gerekmek ( 'fs' ) ;

yapı okumamd5 = al2. dosya senkronizasyonunu oku ( 'metin dosyası.txt' ) ;

yapı dışarı = al1. createHash ( 'md5' ) . güncelleme ( okumamd5 ) . sindirmek ( 'altıgen' ) ;

konsol. kayıt ( 'Bir Dosyanın MD5 Karması ->' + dışarı ) ;

Kodun açıklaması şu şekilde:

  • İlk önce “ kripto ' Ve ' fs ” sırasıyla bir md5 karması oluşturmak ve dosyalarla çalışmak için modüller.
  • Şimdi “uygula” readFileSync() Belirtilen dosyayı eşzamanlı olarak okumak için ” yöntemi.
  • Bundan sonra “ createHash() Dosyaya atıfta bulunan bir md5 karma nesnesi oluşturma yöntemi.
  • Belirtilen ' altıgen 'değeri' olarak sindirmek() ” yönteminin parametresi kodlama tipini ifade eder.
  • Son olarak ilgili dosyanın md5 karmasını alın.

Çıktı

Bir md5 dosyası karması oluşturmak için aşağıdaki cmdlet'i yürütün:

düğüm şablonu. cjs

Bu sonuç, hedef dosyanın md5 karmasının uygun şekilde döndürüldüğü anlamına gelir.

Örnek 2: Node.js'de MD5 Dosya Karması Oluşturma ve Dosyayı Okuma

Bu gösterimde, dosya içeriğinin okunmasıyla birlikte bir dosyanın md5 karması da alınabilir:

var dahil1 = gerekmek ( 'f' ) ;

dahil2 = gerekmek ( 'kripto' ) ;

var getHash = ( içerik ) => {

var genHash = dahil2. createHash ( 'md5' ) ;

veri = genHash. güncelleme ( içerik, 'utf-8' ) ;

dışarı = veri. sindirmek ( 'altıgen' ) ;

geri dönmek dışarı ;

}

var okumaDosyası = dahil1. CreateReadStream ( 'metin dosyası.txt' ) ;

kireç hesabı = ''

Dosyayı oku Açık ( 'veri' , işlev ( yığın ) {

devam += yığın ;

} ) ;

Dosyayı oku Açık ( 'hata' , işlev ( hata ) {

konsol. kayıt ( hata ) ;

} ) ;

Dosyayı oku Açık ( 'son' ,işlev ( ) {

değişken içerik = getHash ( devam ) ;

konsol. kayıt ( 'Dosya İçeriği -> \N ' + devam ) ;

konsol. kayıt ( 'Bir Dosyanın MD5 Karması ->' + içerik ) ;

} ) ;

Bu kod bloğuna göre aşağıdaki adımları uygulayın:

  • Benzer şekilde, tartışılan modülleri de ekleyin.
  • Şimdi, bir md5 hash nesnesi oluşturarak ve '' belirterek, karma oluşturulacak verileri iletin. altıgen ' biçim.
  • Bundan sonra belirtilen dosyanın içeriğini okumak için bir okuma akışı oluşturun.
  • Devam ederek dosyanın içeriğini okuyun ve varsa karşılaşılan hatalarla başa çıkın.
  • Son olarak “ getHash() ” dosya içeriğinin md5 karmasını hesaplamak için yöntem.

Çıktı

Dosya içeriğinin md5 karmasını almak için aşağıdaki kodu çalıştırın:

düğüm şablonu. cjs

Bu sonuçtan, dosyanın md5 karma değeriyle birlikte dosya içeriğinin uygun şekilde görüntülendiği ima edilebilir.

Alternatif Yaklaşım 1: Node.js'de Bir Dizgenin MD5 Karmasını Oluşturma

Aşağıdaki kod gösterimi, bir dize değerinin md5 karmasını oluşturur:

tangaydı = 'Linux' ;

kireç içerir = gerekmek ( 'kripto' ) ;

var makeHash = katmak. createHash ( 'md5' ) . güncelleme ( sicim ) . sindirmek ( 'altıgen' ) ;

konsol. kayıt ( 'Bir Dizgenin MD5 Karması ->' + makeHash ) ;

Bu kodda:

  • Md5 hash değerinin alınacağı dizeyi başlatın ve ' kripto ” modülü.
  • Bundan sonra aynı şekilde “ createHash() ' Ve ' sindirmek() Bir karma nesnesi oluşturma ve iletilen kodlama türüne (ör. 'hex') göre dizeyi alma yöntemleri.
  • Son olarak tanımlanan dizenin md5 karmasını döndürün.

Çıktı

düğüm şablonu. cjs

Alternatif Yaklaşım 2: Node.js'de Parolanın MD5 Karmasını Oluşturma

Bu örnekte bunun yerine bir parolanın MD5 karması getirilebilir:

tangaydı = '123*adQe&' ;

kireç içerir = gerekmek ( 'kripto' ) ;

var makeHash = katmak. createHash ( 'md5' ) . güncelleme ( sicim ) . sindirmek ( 'altıgen' ) ;

konsol. kayıt ( 'Parolanın MD5 Karması ->' + makeHash ) ;

Burada şifreyi belirtin ve '' ifadesini eklemek için tartışılan adımları tekrarlayın. kripto ” modülü ve birleştirilmiş “ uygulanması güncelleme() ' Ve ' sindirmek() ” parolanın md5 karmasını oluşturma yöntemleri.

Çıktı

Aşağıdaki cmdlet'i çalıştırmak parolanın md5 karmasını oluşturur:

düğüm şablonu. cjs

Çözüm

Bir dosyanın MD5 karması, “ kripto ” modülü ve onun “ gibi yöntemlerinden faydalanılması createHash() ' Ve ' sindirmek() ” vb. Ayrıca tanımlanmış bir dizenin veya şifrenin md5 hash'i de oluşturulabilir. Bu, temel olarak verileri, iletilen kodlama biçimine göre şifreleyerek korur.