Kodlamak için biri kodlanacak iki işlev/yönteme ihtiyacım var. Bu, parolaları saklamak için değil. Her kullanıcının verileri kodlamak için belirli bir anahtarı/tuzu olacaktır. Kullanıma özel anahtar kullanarak iki yollu kodlama/kod çözme yöntemleri nasıl oluşturulur - PHP?
Bu
Ben çalışmak istiyorum nasıl:function encode($str, $key) {
// something fancy
}
function decode($str, $key) {
// something fancy
}
$key = $logged_in_user->get_key();
$plain = 'abc abc 123 123';
$encoded_data = encode($plain, $key);
// some_fancy_encrypted_data_that_is_really_cooooool
$decoded_data = decode($encoded_data, $key);
// abc abc 123 123
Başka bir şey her zaman aynı şeyi ben aynı kullanıcı anahtarı ile encode
işlevini kullanın her zaman dönmek gerekiyor Bu fonksiyonu kullanmak olduğunu .
Bunu nasıl yapardım?
Yani mesela mcrypt'e (http://www.php.net/manual/en/mcrypt.examples.php) baktınız mı? Ve 'hash' etiketini bırakın, çünkü siz __don't___ bir karma –
istiyorum. [Küçük bir sınıfım var] (http://stackoverflow.com/questions/15034368/cannot-decrypt-openssl-encrypt-output-on -command-line) ihtiyacınız olanı yapabilir, ancak asıl soru, her bir kullanıcının verilerini bağımsız olarak tek tek şifrelemeye ihtiyaç duyduğunuzu hissetmenizdir. Saldırıya uğramış verilerinizi görebildikten sonra, kaynak kodunuzu, dahili şifrelemenin en iyi kullanımlarını geçersiz kılarak, olabildiğince iyi bir şekilde görebileceğini düşünürüz. – Sammitch
@Sammitch Bazı durumlarda, verileri şifrelemek/şifresini çözmek için kullanılan anahtar herhangi bir yerde bulunamazsa (ve yalnızca kullanıcıya aitse) yararlıdır. LastPass'in de bunu yaptığına eminim. – h2ooooooo