- Katılım
- 2 Mar 2015
- Konular
- 59,189
- Mesajlar
- 88,442
- Çözüm
- 109
- Online süresi
- 4mo 16d
- Reaksiyon Skoru
- 14,280
- Altın Konu
- 2,398
- TM Yaşı
- 11 Yıl 3 Ay 8 Gün
- Başarım Puanı
- 1,051
- MmoLira
- 695,207
- DevLira
- 234
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
"Karma" terimi, sabit uzunlukta bir değer elde etmek için verileri (özellikle bir metni) şifreleme tekniğini temsil eder. PHP kütüphanesi, md5, SHA2, HMAC vb. gibi farklı karma algoritmaları uygulayarak veriler üzerinde karma işlemi gerçekleştirebilen bir dizi işlevi içerir. Elde edilen şifrelenmiş değere orijinal anahtarın karması denir.
Karma işleminin işlenmesi tek yönlü bir işlemdir, yani orijinal anahtarı elde etmek için karmayı tersine çevirmek mümkün değildir.
Algo parametresi, seçilen karma algoritmasının türüdür (yani "md5", "sha256", "haval160,4", vb.). Dosya adı, karma işlemi uygulanacak dosyanın konumunu tanımlayan URL'dir; fopen sarmalayıcılarını destekler.
Aşağıdaki çıktıyı üretecektir:
Algo parametresi, seçilen karma algoritmasının türüdür (yani "md5", "sha256", "haval160,4", vb.). Veri parametresi, karma işlemi yapılacak mesajdır. İkili parametre " true " ise, ham ikili veri çıkışı verir; "false" ise küçük harfli heksitler çıkışı verir.
Aşağıdaki çıktıyı üretecektir:
Karma işleminin işlenmesi tek yönlü bir işlemdir, yani orijinal anahtarı elde etmek için karmayı tersine çevirmek mümkün değildir.
Hashing Uygulamaları
Karma tekniği aşağıdaki amaçlar için etkili bir şekilde kullanılır:Şifre Kimlik Doğrulaması
Gmail, Facebook vb. gibi çeşitli çevrimiçi uygulamalara sıklıkla kayıt oluruz. Çevrimiçi bir hesap için bir parola oluşturduğunuz bir formu doldurmanız gerekir. Sunucu parolanızı karıştırır ve karıştırılmış değer veritabanında saklanır. Giriş sırasında, gönderilen parola karıştırılır ve veritabanındakiyle karşılaştırılır. Bu, parolanızın çalınmasını önler.Veri Bütünlüğü
Karma işleminin önemli kullanımlarından biri, verilerin değiştirilip değiştirilmediğini doğrulamaktır. Bir dosya internetten indirildiğinde, dosyanın bozulmadığından emin olmak için indirilenle karşılaştırabileceğiniz karma değeri gösterilir.Hashing İşlemi
Karma oluşturma işlemi aşağıdaki şekille gösterilebilir:
PHP'de Karma Algoritmaları
PHP bir dizi karma algoritmasını destekler:- MD5 − MD5, yazılımda aktarılan dosyaların bütünlüğünü doğrulamak için yaygın olarak kullanılan 128 bitlik bir karma işlevidir. 128 bitlik karma değeri genellikle 32 basamaklı bir onaltılık sayı olarak gösterilir. Örneğin, "kurbağa" sözcüğü her zaman "8b1a9953c4611296a827abf8c47804d7" karmasını üretir.
- SHA − SHA, Güvenli Karma Algoritma anlamına gelir. Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından geliştirilen bir standart ailesidir. SHA, MD5'in değiştirilmiş bir sürümüdür ve veri ve sertifikaları karıştırmak için kullanılır. SHA-1 ve SHA-2, bu algoritmanın iki farklı sürümüdür. SHA-1, 160 bitlik bir karmadır. SHA-2 aslında bir karma "ailesidir" ve çeşitli uzunluklarda gelir, en popüleri 256 bitliktir.
- HMAC − HMAC (Karma Tabanlı Mesaj Kimlik Doğrulama Kodu), bir karma işlevi ve gizli bir anahtar kullanan bir kriptografik kimlik doğrulama tekniğidir.
- HKDF − HKDF, HMAC mesaj kimlik doğrulama koduna dayalı basit bir Anahtar Türetme Fonksiyonu'dur (KDF).
- PBKDF2 − PBKDF2 (Parola Tabanlı Anahtar Türetme İşlevi 2), parolalardan kriptografik anahtarlar oluşturan bir karma algoritmasıdır.
PHP'de Karma Fonksiyonlar
PHP kütüphanesi çeşitli karma işlevleri içerir:hash_algos Fonksiyonu
Bu fonksiyon, desteklenen karma algoritmalarının listesini içeren sayısal olarak dizinlenmiş bir dizi döndürür.hash_algos(): array
hash_file Fonksiyonu
Fonksiyon, hesaplanan mesaj özetini küçük harfli heksitler halinde içeren bir dize döndürür.hash_file(
string $algo,
string $filename,
bool $binary = false,
array $options = []
): string|false
Algo parametresi, seçilen karma algoritmasının türüdür (yani "md5", "sha256", "haval160,4", vb.). Dosya adı, karma işlemi uygulanacak dosyanın konumunu tanımlayan URL'dir; fopen sarmalayıcılarını destekler.
Örnek
Aşağıdaki örneğe bir göz atın.
PHP:
<?php
/* Create a file to calculate hash of */
$fp=fopen("Hello.txt", "w");
$bytes = fputs($fp, "The quick brown fox jumped over the lazy dog.");
fclose($fp);
echo hash_file('md5', "Hello.txt");
?>
Aşağıdaki çıktıyı üretecektir:
5c6ffbdd40d9556b73a21e63c3e0e904
hash() Fonksiyonu
hash() fonksiyonu bir karma değer (mesaj özeti) üretir:hash(
string $algo,
string $data,
bool $binary = false,
array $options = []
): string
Algo parametresi, seçilen karma algoritmasının türüdür (yani "md5", "sha256", "haval160,4", vb.). Veri parametresi, karma işlemi yapılacak mesajdır. İkili parametre " true " ise, ham ikili veri çıkışı verir; "false" ise küçük harfli heksitler çıkışı verir.
Örnek
Fonksiyon, hesaplanan mesaj özetini küçük harfli heksitler halinde içeren bir dize döndürür.
PHP:
<?php
echo "Using SHA256 algorithm:" . hash('sha256', 'The quick brown fox jumped over the lazy dog.'). PHP_EOL;
echo "Using MD5 algorithm:",hash('md5', 'The quick brown fox jumped over the lazy dog.'), PHP_EOL;
echo "Using SHA1 algorithm:" . hash('sha1', 'The quick brown fox jumped over the lazy dog.');
?>
Aşağıdaki çıktıyı üretecektir:
Using SHA256 algorithm:68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483
Using MD5 algorithm:5c6ffbdd40d9556b73a21e63c3e0e904
Using SHA1 algorithm:c0854fb9fb03c41cce3802cb0d220529e6eef94e


