Вот шо наваял
PHP код:
function getSalt()
{
$charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$randStringLen = 30;
$rand = "";
for ($i = 0; $i < $randStringLen; $i++) {
$rand .= $charset[mt_rand(0, strlen($charset) - 1)];
}
return $rand;
}
$salt = getSalt();
//$salt = random_bytes(24);
$hash = base64_decode(hash_pbkdf2('sha1', $data['password'], base64_decode($salt), 1000, 24, true));
$user->password = "sha1:1000:$salt:$hash";
(R::store($user));
Вот эту ошибку периодически получаю в процессе выполнения скрипта, или вообще ничего.
Цитата:
USER ERROR: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value
|
То есть данные не поступают до бд.
show variables like '%charac%';
Цитата:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
|
show variables like '%colla%';
Цитата:
+----------------------+--------------------+
| Variable_name | Value |
+----------------------+--------------------+
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+----------------------+--------------------+
3 rows in set (0.001 sec)
|
Таблица акков, а именно паролей тоже в кодировке utf8mb4, utf8mb4_unicode_ci