Bir oturum depolama amacıyla bir karma üreten en iyi yolu nedir? Ben hafif, taşınabilir bir çözüm arıyorum.
Sen kullanabilirsiniz PHP'nin yerleşik karma işlevler, sha1
ve md5
. Ikisini, birini seçin.
Bir ikisini de kullanarak, sha1(md5($pass))
bir çözüm olacağını düşünebilir. Her iki kullanarak, nedenleri gereksiz veri şifrenizi daha güvenli yapmaz ve çok mantıklı değil.
Nonce "once el n umbers" anlamına gelmektedir. Onlar bir secret anahtarı göndermek ve kod kullanılan her vakit anahtarını denetleyin, yetkisiz erişimi önlemek için istekleri üzerine kullanılır.
Sen PHP NONCE Library from FullThrottle Development a> adresinde daha fazla bilgi kontrol edebilirsiniz
bin2hex(mcrypt_create_iv(22, MCRYPT_DEV_URANDOM));
Örnek çıktı:
d2c63a605ae27c13e43e26fe2c97a36c4556846dd3ef
"En iyi" göreceli bir terim olduğunu akılda çıplak. Güvenlik, teklik ve hız arasındaki yapmak için bir takası var. Eğer özellikle hassas veri ile ilgileniyor iseniz, difference between MCRYPT_DEV_URANDOM and MCRYPT_DEV_RANDOM hakkında okumak isteyebilirsiniz ama yukarıdaki örnekte, vakaların% 99 için iyidir.
Son olarak, bir RandomLib "rastgele sayılar ve çeşitli güçlü dizeleri üretmek için" vardır.
Şimdiye kadar bir değeri deriving a hash olarak aynı değildir, sen generate a random string arıyoruz farz dikkat edin. İkincisi, password_hash bakın.
Şahsen benim oturumları saklamak için rastgele benzersiz bir sayı üretmek için apache mod_unique_id kullanın. (Eğer apache kullanıyorsanız) kullanımı gerçekten çok kolay.
Seferlik http://en.wikipedia.org/wiki/Cryptographic_nonce PHP kütüphaneye bile bir bağlantı var buraya bir göz atın.
Ben genellikle elle Yüklü oturum kimlikleri yönetmek. Ive önce biraz şeyleri karıştırmak için önerilen bu satırlar boyunca bir şey gördük, ive i (Not bu değil manuel yönetimi ile autogen ile kullanım için) daha iyi ya da kötü varsayılan daha olmanın kendisine tanıklık edemem kendimi hiç kullanmadım.
//md5 "emulation" using sha1
ini_set('session.hash_function', 1);
ini_set('session.hash_bits_per_character', 5);