MD5 MD5 + Salt Şifreleri İthalat

5 Cevap php

Ben ticari bir uygulama için bir oscommerce mağazadan siteme taşınıyorum.

Yeni uygulama düz MD5 şifreleme kullanarak şifreleri saklar. Oscommerce MD5 kullanarak şifreyi saklayan, aynı zamanda karma (düz metin olarak verilmiştir) rastgele 2 haneli bir numara ekler.

İşte birisi bir forumda yayınlanmıştır budur:

The two characters added are for creating the hash in such way that
hash=md5(twocharactersPlainPassword)
ie: 2letters: 74
Plain Password: PaSs
hash=md5('74PaSs')=acaa6e689ae0008285320e6617ca8e95:74


İşte Oscommerce parolayı şifreler nasıl kodu:

// This function makes a new password from a plaintext password.
function tep_encrypt_password($plain) {
  $password = '';

  for ($i=0; $i<10; $i++) {
    $password .= tep_rand();
  }

  $salt = substr(md5($password), 0, 2);
  $password = md5($salt . $plain) . ':' . $salt;

  return $password;
}

// This funstion validates a plain text password with an encrypted password
function tep_validate_password($plain, $encrypted) {
  if (tep_not_null($plain) && tep_not_null($encrypted)) {
    // split apart the hash / salt
    $stack = explode(':', $encrypted);

    if (sizeof($stack) != 2) {
      return false;
    }

    if (md5($stack[1] . $plain) == $stack[0]) {
      return true;
    }
  }

  return false;
}

İşte benim yeni Sepeti parolayı şifreler nasıl:

if ($admin_password_encrypt == 1) {
    $password_match = md5($password);
} else {
    $password_match = $password;
}

Benim yeni cart benim oscommerce sepeti müşteri şifreleri ithal olası herhangi bir yolu var mı.

5 Cevap

Veritabanındaki düz MD5 sağlamalarının tasarruf etmeyin. Düz MD5 sağlamalarının ters gökkuşağı tabloları kullanarak hızlı ve kolayca tasarlanabilir. Ancak, burada olursa olsun gelecekte şifreleri saklamak için tercih nasıl, sizin sorununuzu çözmek nasıl:

  1. Şifre "sürüm" belirten yeni veritabanında bir sütun oluşturun. Bu durum, şifre eski uygulama ya da yenisi ile oluşturulan olup olmadığını belirlemek için kullanılır.
  2. Şifre ithal belirtmek için yukarıda belirtilen bayrak ayarı, eski kullanıcıları içe.
  3. Bir parola doğrulama için iki yöntem oluşturun. Bir yöntem eski uygulama kodunu kullanan, diğer yeni doğrulama yöntemi kullanır.
  4. Bir kullanıcı oturum olduğunda, yukarıda belirtilen bayrağı kontrol edin ve uygun doğrulama yöntemi kullanın.

Her neyse, ben (kısa ve şifreleri hatırlamak kolay gibi insanlar. Beri) bir tuz ve / veya daha karmaşık bir algoritma kullanarak düz MD5 sağlamalarının en şifreleri çatlamak için kolay olduğunu yinelemek istiyorum. Ben de tavsiye ve numaralarıyla sınırlı iki karakterden daha uzun değildir ve bir tuz kullanmak istiyorum. Bu şifreler gerçekten güvenli hale getirecek.

Bu sizin yeni arabası için kaynak kodu olduğunu belirtmişsiniz. "Düz MD5" parolaları depolama korkunç korkunç yoludur beri, belki de sadece osCommerce olarak aynı şifre saklama mekanizması kullanmak için değiştirmeniz gerekir.

Sorunuzun cevabı hayır, şifreleri dönüştürme hiçbir yolu yoktur.

Hayır MD5 tek yönlü işlevi olan bir karma algoritma vardır. Sen tuz ve rehash kaldırmak için oscommerce sisteminde karma ters olamaz. Özür dilerim.

Şifreleri md5 ile şifrelenir, bunları deşifre etmek mümkün olmayacaktır. En iyi olasılık, bir hesap / son şifre değişikliği oluşturma belirli bir tarihten önce meydana gelen olup olmadığını giriş kodunuzu kontrol etmek olabilir. Eğer öyleyse, değilse, kendi kullanmak, osCommerce şifre doğrulama işlevi kullanın.

Bu şekilde, tüm yeni hesaplar için şifreleri yeni bir yöntem ile şifreli olacak, ve eski hesapları için her zamanki gibi onları idare etmeye devam ediyorum, bu yüzden kullanıcılara şeffaf olacak.

Başka ve muhtemelen daha iyi bir seçenek OsCommerce tuzlama yöntemini kullanmaya devam olmasıdır. Bu daha güvenli ve aynı zamanda mevcut şifreleri tutmak için alırsınız.

Hash algoritmalar arasında otomatik dönüşüm için herhangi bir yöntem yoktur. Ne yazık ki büyük olasılıkla aşağıdaki kötü seçeneklerden birini seçmek sıkışmış olacaktır:

  1. Kullanıcılar eski sisteme giriş gibi yeni formatında sağlamalarının saklamak için yapılandırın veya program eski cart.
  2. Eski sistem sepeti şifreleri bazı yüzdesi kurtarmak için bir şifre kırıcı kullanın.
  3. Eski bir biçimini destekleyecek yeni bir satıcı sor
  4. Bu yeni sistemi kullanarak kendi şifreleri tuz metni prepend gerekir ya da onlar için bilinen tuzları prepend sistemi özelleştirmek tüm kullanıcılara bildirim gönder.