crypto modülü
- Node.js kursu
- Orta seviye
- Ders 100/116
- 5 dk
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
// crypto modülünü içe aktar
// buraya yaz
// "Crypto hazır" yazdır
// buraya yazÖrnek çözüm
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?
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
const crypto = require(____);
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 |