Php ile Geri Döndürülebilir Şifreler Oluşturmak

Ana Sayfa Blog Php ile Geri Döndürülebilir Şifreler Oluşturmak

Php ile Geri Döndürülebilir Şifreler Oluşturmak

2013 yılında “Php ile Geri Döndürülebilir Şifreler Oluşturmak” başlıklı bir makale yayınlamıştım, bu aralar o makaleden dolayı dönüşler almaktayım. Sebebi ise o makaledeki yöntemde kullanılan Mcrypt kütüphanesinin Php’nin yeni sürümlerinde bulunmaması.

Hem alternatif olması hem de ek bir bağımlılık gerektirmemesi için aşağıdaki sınıfı geliştirdim.

Gönlünüzce kullanabilirsiniz:

Sınıf

<?php

/*
 * A "Reversible" password encryption routine by Sinan Eldem
 * www.sinaneldem.com.tr
 * V. 2.9
 * 18.07.2018 11:15
 */

class MyHash {
    public function encode($string, $key) {
        $result = '';

        for ($i = 0; $i < strlen($string); $i++) {
            $char    = substr($string, $i, 1);
            $keychar = substr($key, ($i % strlen($key)) - 1, 1);
            $char    = chr(ord($char) + ord($keychar));
            $result .= $char;
        }

        return base64_encode($result);
    }

    public function decode($string, $key) {
        $result = '';
        $string = base64_decode($string);

        for ($i = 0; $i < strlen($string); $i++) {
            $char    = substr($string, $i, 1);
            $keychar = substr($key, ($i % strlen($key)) - 1, 1);
            $char    = chr(ord($char) - ord($keychar));
            $result .= $char;
        }

        return $result;
    }
}

$key    = '123abc!#,678def';
$string = 'Merhaba Dünya!';

$encoded = (new MyHash)->encode($string, $key);
$decoded = (new MyHash)->decode($encoded, $key);

echo $encoded; // s5akm8LExEFn7/KlscWG
echo '
'; echo $decoded; // Merhaba Dünya!

Keyifli kodlamalar dilerim.

Sinan Eldem

Fullstack Web Developer

Laravel Framework ile PHP ve MySQL üzerine özel ders, danışmanlık ve web programcılığı hizmetleri veriyorum.

Danışmak istedikleriniz ile ilgili benimle irtibat kurabilirsiniz.

Benzer Yazılar

Repository Pattern (Ambar Deseni) Nedir?

Repository (Ambar) deseni iş mantığınızı veri kaynağınızdan soyutlamanın bir yoludur. Veri getirme kodunuzun üstünde ekstra bir katman olup değişik yollarla kullanılabilmektedir.

Solid İlkeleri (Solid Principles)

Merhaba arkadaşlar,

Daha sonra her biri için ayrı ayrı sayfalar oluşturarak detaylandıracağım Solid Prensiplerine değinmek istiyorum.

PHP 8.5 Kapsamlı İncelemesi: Yeni Özellikler, Kod Örnekleri ve Geliştirici Rehberi

PHP 8.5, 20 Kasım 2025 tarihinde yayımlanmış büyük bir güncellemedir. Bu sürümle birlikte dilde “daha akıcı”, “daha okunabilir” ve “geliştiriciler için daha modern” bir yaklaşım hedeflenmiştir. Bu makalede başlıklar halinde tüm öne çıkan yenilikleri (özellikler, iyileştirmeler, uyumsuzluklar) bulacaksınız.

Yorumlar