CodeBlanks Logo Icon CodeBlanks

crypto modülü

crypto modülü ve hash fonksiyonlarını öğrenirsin.

crypto modülü

Node.js'in gömülü crypto modülü şifreleme işlemleri yapar: özet (hash) oluşturma, rastgele bayt üretme, şifreleme ve şifre çözme. Ayrı paket kurmana gerek yok; require("node:crypto") ile içe aktarırken node: ön eki kullanmak en güvenli yoldur.

Temel kavramlar: hash bir veriyi sabit uzunlukta özetler; geri dönüşü yoktur (tek yönlü). HMAC hash'e bir anahtar ekler; yalnızca anahtarı bilen doğrulayabilir. AES iki yönlü simetrik şifrelemedir; veriyi anahtarla şifreler ve çözer. randomBytes kriptografik olarak güvenli rastgele bayt üretir; Math.random'dan farklı olarak tahmin edilemez. Bu modül parola saklama, JWT imzalama ve HTTPS el sıkışması gibi işlerde temel taşır.

Hash özellikleri

Bir hash fonksiyonu veriyi sabit uzunlukta bir dizeye dönüştürür. Aynı girdi her zaman aynı çıktıyı verir (deterministik). Çıktıdan girdiyi geri çıkaramazsın (tek yönlü).

Örnek: crypto.createHash("sha256").update("merhaba").digest("hex") her zaman 64 karakterlik bir onaltılık (hex) dize verir. sha256 en yaygın algoritmalardandır; md5 ve sha1 zayıf olduğu için güvenlik işlerinde kullanılmaz. update() veriyi ekler, digest("hex") özeti dize olarak verir. Hash, parola saklama (tuz ile), dosya bütünlüğü denetimi ve veri değişikliği algılamada kullanılır. İki dosyanın hash'i aynıysa içerikleri aynıdır (büyük olasılıkla).

Uygulama Crypto modülünü içe aktar ve dene

const crypto = require("node:crypto"); ile içe aktar. console.log("Crypto hazır") ile hazır mesajı yazdır.

Başlangıç kodu

index.js
// crypto modülünü içe aktar
// buraya yaz

// "Crypto hazır" yazdır
// buraya yaz

Örnek çözüm

index.js
const crypto = require("node:crypto");
console.log("Crypto hazır");

Beklenen çıktı

Crypto hazır

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 crypto.createHash ne yapar?

index.js
crypto.createHash("sha256")
  • Veriyi şifreler
  • Veriyi çözer
  • Rastgele bayt üretir
  • Bir özet (hash) oluşturucu yaratır Doğru cevap

Açıklama: createHash bir özet oluşturucu yaratır.

2 İçe aktarmayı tamamla

Soru
const crypto = require(____);
Cevap
const crypto = require("node:crypto");

Açıklama: node:crypto ile crypto modülü içe aktarılır.

3 Parçayı rolüne eşle

Kavram Anlamı
createHash Özet oluşturur
randomBytes Rastgele bayt üretir
createHmac Anahtarlı özet
createCipheriv Şifreler

Orta seviye bölümündeki tüm dersler