E-Posta Şifre Kaydet?

4 Cevap php

Benim sistem (php + mysql) de kullanıcıları Email-şifreleri kurtarmak zorunda.

I do it now this way: alt text

Bu güvenli midir? Ve bunu yapmak için daha iyi bir yolu olmadığı zaman nedir?

4 Cevap

Tuzlu sağlamalarının 'depolama' şifreleri ile ilgili daha iyi yollarından biridir (Eğer gerçekten gibi saklayarak değil). Şifre kurtarılamayan, böylece uygulaması bir 'parola sıfırlama' işlevi olan bu karşılamak gerektiğini unutmayın.

Ben rastgele, uzun üretilen tuz ile hmac kullanmak salık. Tuz boyu uzatma saldırıları engeller "a" ve HMAC gibi şifreleri kullanan kullanıcıya yardımcı olur.

Bana iyi geliyor :) Eğer gerçek şifre saklamak yok ama tuzlu bir karma bu yaklaşımın güvenli olmalıdır beri.

sadece karma tuzlu parola saklamak. Bu bence, aslında sadece gerçekten güvenli bir yoldur. şifrelenmiş parolaları, çözülebilecek karma tuzlanmış şifreleri brute-zorunlu olması gerekir.

function salt_password($password)
{
  $salt_1 = '7a@#!P^@29g';
  $salt_2 = 'mw3*@~2%21mD';
  //whatever random nonesense you can come up with

  return sha1($salt_1.$password.$salt_2);
}

function store_password($user,$password)
{
 $password = salt_password($password);

 //insert username and password in whatever table;
}

function login($user,$password)
{
 //select username and password info from db

 if(salt_password($password) == $selected_password_from_db))
 {
   return true;
 }
 else
 {
   return false
 }
}