Я использую две простые функции для шифрования и расшифровки паролей. Но функция расшифровки работает неправильно. Вот мой вывод:
Зашифровано: �\� ���#�%\��>�3,�o�Sd��c�
Расшифровано: test123
и вот мой код:
$size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
function encrypt($data)
{
$key = 'test';
$encrypted_data = mcrypt_cbc(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_ENCRYPT, $iv);
return $encrypted_data;
}
function decrypt($encryptedData)
{
$key = 'test';
$decrypt = mcrypt_cbc(MCRYPT_RIJNDAEL_256, $key, $encryptedData, MCRYPT_DECRYPT, $iv);
return $decrypt;
}
$password = encrypt($member[0]['PASSWORD']);
print('Encrypted: '.$password.'<br />');
$password = decrypt($password);
print('Decrypted: '.$password);
MCRYPT_RIJNDAEL_128
, но с использованием 256-битного ключа. Также я не думаю, что кодировку символов в PHP нелегко контролировать. абсолютно прав насчет пароля. - person Peter Elliott   schedule 06.02.2013