AES Advanced Encryption Standard, güvenli iletişim sağlamak için kullanılan bir açık anahtarlı şifreleme yöntemidir Nodejs kullanarak AES algoritmasını kolayca kullanabilirsiniz Crypto modülü, AES şifrelemesi ve deşifrelemesi için gerekli fonksiyonları sağlar Şifreleme işlemi için createCipheriv veya createCipher fonksiyonlarından biri kullanılır createCipheriv fonksiyonu, bir anahtar ve IV belirtilerek şifreleme yapar createCipher fonksiyonu ise sadece bir anahtar belirtilerek şifreleme yapar ve IV otomatik olarak oluşturulur Deşifreleme işlemi için createDecipheriv veya createDecipher fonksiyonları kullanılır Hem Crypto modülü hem de AES algoritması, özellikle web uygulamaları gibi güvenli iletişim gerektiren durumlarda kullanışlıdır

AES (Advanced Encryption Standard), güvenli iletişim sağlamak için kullanılan bir açık anahtarlı şifreleme yöntemidir. AES, symmetric-key olarak da bilinir ve aynı şifreleme anahtarının hem şifreleme hem de deşifreleme işlemini gerçekleştirmesine dayanır. AES algoritması, tüm dünyada yaygın olarak kullanılan bir şifreleme standardıdır.
Node.js, AES algoritmasını kullanmak için Crypto modülü adı verilen bir paket sağlar. Bu modül, şifreleme ve deşifreleme işlemlerinin basit bir şekilde yapılmasını sağlar. Crypto modülü, güvenli iletişim sağlamak ve bilgi güvenliğini sağlamak için özellikle web uygulamalarında kullanılır.
Node.js ile AES Kullanımı
AES algoritması, güvenli veri iletimi için kullanılır ve Node.js işlemlerinde kullanılabilir. Node.js, AES algoritmasını sağlamak için ücretsiz gelen Crypto modülü ile birlikte gelir. Bu modül, şifreleme ve deşifreleme işlemleri için fonksiyonlar sağlar. AES algoritmasını kullanarak verilerin şifrelenmesi ve deşifrelenmesi için Node.js işlemlerde Crypto modülü kullanılabilir.
Crypto modülü, Node.js uygulamalarında şifreleme fonksiyonları sağlar. Şifreleme işlemi için createCipheriv() ve createCipher() fonksiyonları kullanılır. createCipheriv() fonksiyonu, bir anahtar ve IV (Initialization Vector) belirtilerek şifreleme yapar. createCipher() fonksiyonu ise sadece bir anahtar belirtilerek şifreleme yapar ve IV otomatik olarak oluşturulur.
Deşifreleme işlemi için ise createDecipheriv() ve createDecipher() fonksiyonları kullanılır. createDecipheriv() fonksiyonu, bir anahtar ve IV belirtilerek deşifreleme yapar. createDecipher() fonksiyonu ise sadece bir anahtar belirtilerek deşifreleme yapar ve IV otomatik olarak oluşturulur.
Şifreleme Fonksiyonları
Node.js, AES algoritmasını sağlamak için Crypto modülü ile birlikte gelir. Şifreleme işlemleri için createCipheriv() ve createCipher() fonksiyonları kullanılabilir. Bu fonksiyonlar, AES algoritması kullanarak verilerin şifrelenmesini sağlar.
CreateCipheriv() Fonksiyonu:
Parametreler | Açıklama |
---|---|
algorithm | Kullanılacak şifreleme algoritması (örn: aes-128-cbc, aes-256-cbc) |
key | Şifreleme anahtarı |
iv | IV (Initialization Vector) değeri |
Bu fonksiyon, bir anahtar ve IV belirtilerek şifreleme yapar. Örneğin:
const crypto = require('crypto'); const algorithm = 'aes-256-cbc'; const key = crypto.randomBytes(32); const iv = crypto.randomBytes(16); const cipher = crypto.createCipheriv(algorithm, key, iv); let encryptedData = ''; cipher.on('readable', () => { let chunk; while (null !== (chunk = cipher.read())) { encryptedData += chunk.toString('hex'); } }); cipher.on('end', () => { console.log(encryptedData); }); cipher.write('Örnek veri'); cipher.end();
CreateCipher() Fonksiyonu:
Parametreler | Açıklama |
---|---|
algorithm | Kullanılacak şifreleme algoritması (örn: aes-128-cbc, aes-256-cbc) |
key | Şifreleme anahtarı |
Bu fonksiyon, sadece bir anahtar belirtilerek şifreleme yapar. IV otomatik olarak oluşturulur. Örneğin:
const crypto = require('crypto'); const algorithm = 'aes-256-cbc'; const key = crypto.randomBytes(32); const cipher = crypto.createCipher(algorithm, key); let encryptedData = ''; cipher.on('readable', () => { let chunk; while (null !== (chunk = cipher.read())) { encryptedData += chunk.toString('hex'); } }); cipher.on('end', () => { console.log(encryptedData); }); cipher.write('Örnek veri'); cipher.end();
Her iki fonksiyon da şifreleme yaparken aynı parametreleri kullanır. Şifreleme işlemi tamamlanınca oluşan veri hexadecimal değer formatında olacaktır.
createCipheriv() fonksiyonu
Bu fonksiyon, AES algoritması kullanarak verileri şifrelemek için kullanılır ve anahtar ve IV (Initialization Vector) belirtmek için kullanılır. Anahtar, şifreleme işlemi için kullanılacak gizli anahtardır ve IV, şifreleme işlemi sırasında rastgele oluşturulan değerdir.
createCipheriv() fonksiyonu, "aes-256-cbc" ve "aes-128-cbc" dahil olmak üzere çeşitli şifreleme modlarına sahiptir. Bu fonksiyon, açık metni şifrelenmiş metne dönüştürmek için kullanılır. Şifreleme işlemi sırasında IV'ye belirli bir değer atanması zorunlu hale gelir, bu nedenle IV, şifreleme işlemi sırasında belirtilmelidir.
Aşağıda createCipheriv() fonksiyonu kullanarak yapılan örnek bir kod:
```const crypto = require('crypto');const algorithm = 'aes-256-cbc';const key = crypto.randomBytes(32);const iv = crypto.randomBytes(16);const cipher = crypto.createCipheriv(algorithm, key, iv);let encrypted = cipher.update('şifrelenecek metin', 'utf8', 'hex');encrypted += cipher.final('hex');console.log(encrypted);```
Yukarıdaki kodda, "crypto" modülü kullanılarak bir anahtar ve IV oluşturulmuştur ve sonra createCipheriv() fonksiyonu kullanılarak şifreleme işlemi için bir şifreleyici oluşturulur. Son olarak, şifreleme işlemi gerçekleştirilir ve sonuç "console.log()" kullanılarak konsolda yazdırılır.
createCipher() fonksiyonu
Node.js kullanarak AES algoritmasını kullanmak için createCipher() fonksiyonu kullanılabilir. Bu fonksiyon, sadece bir anahtar belirtilerek şifreleme yapar ve IV değeri otomatik olarak oluşturulur. Ancak, IV oluşturma yöntemi "randomBytes()" tarafından sağlanır. Bu nedenle, aynı şifreleme anahtarı ile farklı IV'lerle birden fazla veri yaratmak mümkündür.
Aynı zamanda, createCipher() fonksiyonu şifreleme sırasında blok boyutu için varsayılan olarak 128 bit kullanır. Fakat blok boyutu belirli anahtar boyutlarıyla değişebilir ve 128 bit blok boyutu üzerinde istek üzerine değiştirilebilir.
Bu fonksiyon, AES algoritması kullanarak verilerin şifrelenmesini sağlar. Örneğin, şifreleme anahtarını "secretKey" olarak ve veri olarak "hello world" yazarak şifrelemeyi başlatabiliriz. Şifreleme işlemini gerçekleştirmek için crypto modülü çağrılır;
const crypto = require('crypto');const cipher = crypto.createCipher('aes192', 'secretKey');let encrypted = cipher.update('hello world', 'utf8', 'hex');encrypted += cipher.final('hex');console.log(encrypted);
Deşifreleme Fonksiyonları
AES algoritmasını kullanarak veriler şifrelenebildiği gibi deşifrelenmesi de mümkündür. Bu işlem de kullandığımız Node.js ile de oldukça kolaydır. Bu işlem için kullanabileceğimiz iki fonksiyon createDecipheriv() ve createDecipher() fonksiyonlarıdır. Bu fonksiyonlar sayesinde şifrelenmiş verilerimizi orijinal hallerine getirebiliriz.
createDecipheriv() fonksiyonu, bir anahtar ve IV belirtilerek deşifreleme yapar. Bu fonksiyonun kullanımı oldukça basittir, sadece bir anahtar ve IV belirtmek yeterlidir. Daha sonra fonksiyon şifreli verileri deşifre eder ve orijinal hallerine getirir.
createDecipher() fonksiyonu ise sadece bir anahtar belirtilerek deşifreleme yapar. IV otomatik olarak oluşturulur. Bu fonksiyon da oldukça basit bir kullanıma sahiptir. Sadece bir anahtar belirtilir ve fonksiyon şifreli verileri otomatik olarak deşifre eder, orijinal hallerine getirir.
AES algoritması sayesinde şifrelenen veriler aynı yöntemle de deşifrelenerek orijinal hallerine getirilebilir. Bu işlemi gerçekleştirmek için kullanabileceğimiz fonksiyonlar son derece kullanışlı ve kullanımı zahmetsizdir.
createDecipheriv() fonksiyonu
createDecipheriv() Fonksiyonu Nedir?
createDecipheriv() fonksiyonu, AES algoritması kullanarak verilerin deşifrelenmesini sağlayan bir fonksiyondur. Bu fonksiyon, deşifreleme işlemi için bir anahtar ve Initialization Vector (IV) belirtilerek kullanılır.
IV (Initialization Vector) Nedir?
IV, şifrelerken kullanılan rasgele bir dizedir ve şifreleme işleminin her seferinde farklı olmasını sağlar. Bu, daha güvenli bir şifreleme işlemi için gerekli bir adımdır. IV, createCipheriv() ve createDecipheriv() fonksiyonları tarafından kullanılır.
createDecipheriv() Fonksiyonu Nasıl Kullanılır?
createDecipheriv() fonksiyonu, deşifreleme işleminde kullanılmak üzere bir anahtar ve IV ile belirtilir. Bu fonksiyonun kullanımı, createCipheriv() fonksiyonu ile oldukça benzerdir. İşlemleri gerçekleştirmek için şu adımlar izlenir:
1 | Bir CipherObject oluşturun. |
2 | Anahtar ve IV belirleyin. Anahtar, şifrelemede kullanılan anahtarla aynı olmalıdır. |
3 | CipherObject'in update() fonksiyonunu kullanarak şifrelenmiş verileri elde edin. |
4 | CipherObject'in final() fonksiyonunu kullanarak son şifrelenmiş verileri elde edin. |
5 | Oluşturulan veriyi toString() fonksiyonu ile metne çevirin. |
6 | Elde edilen metin verisi deşifreleme için kullanılabilir. |
createDecipheriv() fonksiyonunun kullanımı oldukça basittir ve AES algoritması kullanarak güvenli bir deşifreleme işlemi gerçekleştirmenize olanak tanır.
createDecipher() fonksiyonu
AES algoritması Node.js ile kullanılabilmektedir. Node.js'in Crypto modülü değişkenleri ve fonksiyonları ile AES algoritmasını sağlamaktadır. , sadece bir anahtar belirtilerek deşifreleme yapar. Bu fonksiyonda IV otomatik olarak oluşturulur.
Deşifreleme işlemini gerçekleştirebilmek için öncelikle bir anahtar belirlenir. Daha sonra oluşturulan bu anahtar kullanılarak belirtilen veri deşifre edilir. Diğer tüm işlemler, AES algoritmasına göre yapılmaktadır.