HELLO, I’M SERHAT AND THIS IS MY FANCY TITLE.

Project Euler - Question 1


If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000.

Answer:

package serhat;
public class Serhat {
 public static void main(String[] args) {
 {
     int n = 1000, t = 0, i;
     for(i=1; i<n; i++){
         if(i%3 == 0 || i%5 == 0){
             t = i + t;
         }
     }
     System.out.println(t);
  }
  }
}
Continue reading
Date: | Tags: project euler, project euler answers | Categories: tech, java

IP adreslerini MySQL'de kaydetmek


Öncelikle şuradaki güzel yazıyı okumanızı tavsiye ederim. Ciddi bir benchmark testi uygulanmış.

MySQL kendi içerisinde IP adresi barındırmak için kullanabileceğimiz iki güzel fonksiyonla gelir. Bunlar INET_ATON() ve INET_NTOA() fonksiyonlarıdır. INET_ATON() fonksiyonu string olan IP adresini, 32bitlik UNSIGNED INTEGER biçimine çevirir. INET_NTOA() ise bu işlemin tem tersini yapar.

Hemen test edelim:

mysql> SELECT INET_ATON("88.254.195.158");
+-----------------------------+
| INET_ATON("88.254.195.158") |
+-----------------------------+
|                  1493091230 |
+-----------------------------+
1 row in set (0.02 sec)
mysql> SELECT INET_NTOA("1493091230");
+-------------------------+
| INET_NTOA("1493091230") |
+-------------------------+
| 88.254.195.158          |
+-------------------------+
1 row in set (0.05 sec)

3 kısımdan oluşan, günlük olarak kullandığımız IP adresleri aslında bu işleme tabi tutulmuş adreslerdir. Yani normalde "88.254.195.158" olarak andığımız bir IP adresinin bilgisayar dilinde ki ifadesi "1493091230"dır.

Continue reading
Date: | Tags: mysql de ip adresi, mysql boyutları, mysql performans | Categories: tech, database

MySQL veri şifreleme fonksiyonları


MySQL temel olarak 5 tane hazır şifreleme fonksiyonu ile gelir. Bunlar password(), encrypt(), md5, aes_encrypt() ve sha1()'dir. Sahi birde sha() vardı ne oldu ona? Birazdan buna da değineceğim.

MySQL konsolunu açarak hemen bir kaç deneme yapabiliriz:

mysql> SELECT SHA1("serhat");
+------------------------------------------+
| SHA1("serhat")                           |
+------------------------------------------+
| de30e5ef68d3ea5e7eb1de8d922e499cd6bc775e |
+------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT MD5("serhat");
+----------------------------------+
| MD5("serhat")                    |
+----------------------------------+
| 4aa6d74604cad605ccb43b94aa5a7b94 |
+----------------------------------+
1 row in set (0.00 sec)
mysql> SELECT ENCRYPT("serhat");
+-------------------+
| ENCRYPT("serhat") |
+-------------------+
| NULL              |
+-------------------+
1 row in set (0.00 sec)
mysql> SELECT PASSWORD("serhat");
+-------------------------------------------+
| PASSWORD("serhat")                        |
+-------------------------------------------+
| *7B8566BBEC5FD8336D43CDDB7DD13EB891F43CA2 |
+-------------------------------------------+
1 row in set (0.00 sec)
Continue reading
Date: | Tags: mysql ve md5, mysql ve sha1, mysql şifreleme | Categories: tech, siber güvenlik, database, kriptoloji

Şifreleme algoritmaları için benchmark


Veritabanında plain-text olarak veri tutmak tehlikelidir, bu yüzden verilerimizi MD5 veya SHA gibi şifreleme yöntemleri ile şifrelememiz gerekebilir. Bu aşamada seçeceğimiz şifreleme metoduna karar vermek açısından bir performans testi yapmak gerektiğini düşündüm.

Öncelikle şu sayfayı güzelce bir inceleyin, elimizin altında bulunsun: https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html

Elinizdeki stringin, çeşitli kriptolama yöntemlerinde ortaya çıkarttığı hash hakkında bir ön görüşünüz olması için hazırladığım 'hash_generator' isimli ufak betiği de inceleyebilirsiniz. Bu betiğin kaynak kodu da Gist olarak bulunuyor.

Continue reading

PHP'de Gelen Veri Kontrolü


Formlardan gelen verileri, PHP'nin bazı metodları ile süzgeçleyebilir-kontrol edebiliriz. Bu sayede daha güvenli form işlemleri sürdürebiliriz. Bu yazıda PHP'nin bir takım fonksiyonlarından bahsedeceğim.

trim() fonksiyonu

trim() fonksiyonu, parametresiz kullanımda stringler üzerinde whitespace var ise bunları tespit eder ve devre dışı bırakır. trim() fonksiyonu str ve charlist olmak üzere 2 parametre alabilir. Kullanımı şu şekildedir:

string trim ( string $str [, string $charlist ] )

Bildiğiniz üzere burada ilk parametre zorunlu, ikinci parametre ise opsiyoneldir. İkinci parametre PHP 4.1.0 sürümünde opsiyonel olarak eklenmiştir.

Continue reading