Php Hash Fonksiyonuyla Farklı Algoritmalarda Şifreler oluşturma

PHP’de en bilindik iki şifreleme yöntemi vardır. Bunlardan birincisi md5 ikincisi de sha1′dir. MD5 32 karakterli şifre üretirken, SHA1 40 karakterli şifreler üretir. Genelde veritabanına ilk önce sha1 ile sonra md5 ile şifrelenerek yollanır. Ama ne yazık ki diğer şifreleme algoritmalarının yüzüne bile bakılmamakta. Mesela bunların yanında ripemd160 md4 md2 sha512 sha256 gost whirlpool joaat ve haval algoritmaları bulunmakta. Bunlar farklı uzunlukta şifrelemeler yapıyor. Ama ne yazık ki belki bu algoritmaları bilmeyen kişiler var.

 

Bu algoritmaları nereden biliyorsunuz diye sorarsanız, PHP Info’nun hash kısmına bakmanızı isterim . Sizi yormadan buraya ekleyeyim resmini.

Şifreleme algoritmalarıBunların kullanımı ise şöyle oluyor:

<?php

hash('ALGORİTMA ADI', 'Şifrelenecek Yazı');

?>

Örnek olarak “Şifrelenecek Yazı” yazısını ele alalım ve bütün algoritmalarda şifreleyeyim. Ardından sonuçlara bakalım.

<?php
header('Content-type:text/plain');

$str = "Şifrelenecek Yazı";

$algs = "md2 md4 md5 sha1 sha224 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost adler32 crc32 crc32b fnv132 fnv164 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5";

$algos = explode(' ', $algs);

foreach( $algos as $algo ) {
    echo $algo . ' => '.hash($algo,$str)."\n";
}

?>

Programı çalıştırdığımızda alacağım sonuç ise gerçekten ilgi çekici.

md2 => 78badc8a958e1fe0b69f7f586d4f0948
md4 => 6282d97aaf4540e82e6f96c6eaf26568
md5 => eb0ab3ae8544141bf42d08113ad7b2b2
sha1 => 8c1d2d9f9a7a1991547531c653294088c38a12b6
sha224 => 6c8ef0b6f9d9fb9305d693ed2dc51c0c1b651bd28a5a9e8bffd8b475
sha256 => b0a9f3fbd301d77c842e3f887df36cc33ba4603007ace35823da7ea1af22977d
sha384 => 6bba7cdb863a705996f5ce05cca28ef40b7181542775e96f2d616c7d054f69dfd489818eb056008b1da0dbdf9932bc93
sha512 => 441d50c3d9b92c183d02f87161839d90eccdde9789eef91173dd658afa051e1325089a192a6be896af06222560b68ad328ec59cccf23731b8209ee8fa5ce8b51
ripemd128 => e91168e68de972d5f7a7c192c2d6c366
ripemd160 => 07a393a57a8b04c46be0c4c2360185c5471578d2
ripemd256 => f5c0e855446f207f00c0d9f764038072e62e0f7b5021de79522bbc780552fed7
ripemd320 => 9eb4b57e92ee4950eb524b9222078751d0baae077621f4f9be85b30dfbee18aa880766f5a3b188e2
whirlpool => b39a7bcd9016610b7c59b521bbd86ccb1fbd2379351f6b9ecfdbe605caf3295039459198aa1e82842797dba55a4b1aec295644c19fcc9513d4606b5796ce8458
tiger128,3 => d71b978c8f90cb2c4c13da21768c8c41
tiger160,3 => d71b978c8f90cb2c4c13da21768c8c41af6837de
tiger192,3 => d71b978c8f90cb2c4c13da21768c8c41af6837de902f4023
tiger128,4 => 582d41fcb9a9ad1d26369fa436b884fb
tiger160,4 => 582d41fcb9a9ad1d26369fa436b884fb58d8e247
tiger192,4 => 582d41fcb9a9ad1d26369fa436b884fb58d8e24787c779e8
snefru => c8777ad975e8eefd96e44fb32f735ec573f532099a31beb6dbe8b22a58f0ec2a
snefru256 => c8777ad975e8eefd96e44fb32f735ec573f532099a31beb6dbe8b22a58f0ec2a
gost => 06ade855a9037a590552a74a9adc4c05e4bc2306d624a25bc174bf0a5dd1301b
adler32 => 577708aa
crc32 => d69cf583
crc32b => ea7a205e
fnv132 => 5ef7775e
fnv164 => 37fa648f8d80663e
joaat => ba3f7c8a
haval128,3 => 08812acb9d114f5bd38b12b8841c16ad
haval160,3 => 506398f08b1cb6172b655637e518247f9a608ed3
haval192,3 => 6840d4131733869ae6720bbe059918158dd3ab918f926f8f
haval224,3 => b9dd3713e6d124071b2505acadef26a9be7ba25186b94081ce1e0e0b
haval256,3 => 2f19d9b5c48ff97775c2f2aae5a1d4be8aaf39ce31a3c474a28d61b47eb8e5c2
haval128,4 => 5c86d3d43aaa3eb9b2b6c16ed8f84967
haval160,4 => e0cd6455da966ed2cae72c7e87ed125bd95d6152
haval192,4 => c559a1e13599a3bb157c4d2df8d22116897fdf59e62c270e
haval224,4 => 08547816b286d4716f81a7953f3dca092701420f91c90248436d838e
haval256,4 => 0aa5f52d00820aaf048661883ab77ed5d12c4dfcf5b399abd8c3f6c26e51ec12
haval128,5 => 2a95f04bb44117856c0b1d71f50fb6b2
haval160,5 => a7859dea99c32995ff4e25b93e1a7dafe19e5139
haval192,5 => 2ed77304ad660d8d4d7990b0d593168c6beaf15237386530
haval224,5 => a0414a7c97b4e72a72f0c9eae255834320b6c585313444bf4fb70263
haval256,5 => 47df27912c2d1b69fb945744d3e210d8cdb2e59c74795a03388d1e6453c3cfbd

Sadece md5 ve sha1 ile kalmayıp, diğer algoritmaları da kullanırsak hem şifrelememiz her hacker tarafından fark edilmez, hem de kolay kolay bulunmaz. Ben şu an sha256 ve sha512 kullanıyorum. sha256 ile 64 karakterli salt elde ederken sha512 ile 128 karakterli elde ediyorum. Veritabanım büyümesin diyorsanız sha256 veya haval256,4, yer önemli değil diyorsanız sha512 öneriyorum. Tabi size kalmış bir tercih meselesi.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir