Güvenli LAMBASI şifrelemek yöntemi

4 Cevap php

şifrelerini diyelim saklamak için - MySQL ile kullanım PHP'nin güvenli şifrelemek / şifresini yöntem nedir?

Of course, not for portal purposes - hashing is the safest option there.

Ben çevrimiçi küçük şifreyi bizim bütün takım için (domain / mysql / ftp ...) depolama yapmak istiyorum, bu yüzden giriş ve şifreleri kontrol edebilir, ama ben gerçekten müşterilerimizin bussinesses tehlikeye atmak istemiyorum. Hash bariz nedenlerle kullanılamaz - (gerçekten gökkuşağı tabloları her zaman çalıştırmak için mantıklı değil mi: D) - biz yaptıktan sonra, geri okunabilir biçimde şifreleri almak gerekir.

Herhangi bir fikir?

Düzenleme: şimdiye kadar, sadece mysql düzey vardı AES. Eğer bir şey iyi / daha güvenli olacağını düşünüyor musunuz ya da 3. parti açık kaynak kodu ile herhangi bir deneyimi var mı?

4 Cevap

Şifrelemek ve şifresini istiyorsanız o zaman MySQL'in yerleşik AES şifreleme düşünebilirsiniz. Bu bir tuz (her madde için bile rastgele tuz) kullanın ve sonra da ikili blob olarak şifrelenmiş veri depolamak için izin verir. Daha sonra tuz almak ya da bir saklı birini kullanın ve verilerin şifresini çözebilir.

Burada AES encyrption / şifre çözme iyi bir öğretici var: http://techpad.co.uk/content.php?sid=82

Ben de MySQL seviyesinde MD5 () kullanabilirsiniz beri MD5 iyi bir seçim olduğunu söyleyebilirim. Sonra tekrar, DB şifreleri ova tasarruf sağlayacaktır.

base64 < MD5 < SHA1

@Adam, I must agree that safer way is to use mysql AES crypt and to save key in PHP. That way, if hacker somehow get DB he won't be able to open without key in PHP.

Sen (eval () ile oynarken / ex, crypt PHP kodu) tuşu ile oynayabilirsiniz yüzden DB & alacağı korsanı karışık olurdu PHP kodu birlikte ...

Güvenli kendi üzerinde yaratacak bir yöntemdir. Rasgele sırayla şifreleme kırmak kolay birçok birleştirerek deneyin ve kırmak için gerçekten zor bir şey olsun. Alt şifreleme + size ve ne için tam olarak neler olduğunu bilmek sürece + randomizasyon kırmak için gerçekten zor bir şey yapacak ters.