Страница 1 из 1
MySQL encrypt
Добавлено: 2007-09-03 15:33:51
lestat
доброго времени суток.
вот пытаюсь поднять exim + mysql в раз 5... предидущие 4 раза работало все на ура... а вот на 5 выскочил глюк.
при чем глюк именно с мусклем.
заключается в следующем:
поле crypt. говорю ему инсерт к примеру encrypt('1'). он заносит и криптует. затем делаю select from where crypt=encrypt('1') он мне ничего не возвращает. может кто сталкивался?
FreeBSD 7.0 - current port: mysql-server-5.1.21
Re: MySQL encrypt
Добавлено: 2007-09-03 15:36:29
Alex Keda
Код: Выделить всё
select что_выбираешь from `имя_таблицы_пропустил` where crypt=encrypt('1')
покажи запрос нормально и
Re: MySQL encrypt
Добавлено: 2007-09-03 15:43:54
lestat
Код: Выделить всё
mysql> use maildb
Database changed
mysql> show create table users;
+-------+----------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----------------------------+
| Table | Create Table |
+-------+----------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----------------------------+
| users | CREATE TABLE `users` (
`id` varchar(255) CHARACTER SET koi8u NOT NULL,
`login` varchar(128) CHARACTER SET koi8r NOT NULL,
`name` varchar(128) CHARACTER SET koi8r NOT NULL,
`address` varchar(128) CHARACTER SET koi8r NOT NULL,
`home` varchar(128) CHARACTER SET koi8r NOT NULL,
`maildir` varchar(128) CHARACTER SET koi8r NOT NULL,
`crypt` varchar(128) CHARACTER SET koi8r NOT NULL,
`uid` smallint(5) unsigned NOT NULL DEFAULT '10000',
`gid` smallint(5) unsigned NOT NULL DEFAULT '10000',
`quota` int(6) unsigned NOT NULL DEFAULT '666666666',
`status` varchar(128) CHARACTER SET koi8r NOT NULL,
`seen` smallint(2) unsigned NOT NULL DEFAULT '1',
KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 |
+-------+----------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----------------------------+
1 row in set (0.00 sec)
mysql>
Код: Выделить всё
SELECT * FROM `users` WHERE crypt = encrypt( '1' )
Re: MySQL encrypt
Добавлено: 2007-09-03 15:51:44
Alex Keda
Код: Выделить всё
mysql> use test
Database changed
mysql> INSERT INTO `users` (`id`,`login`,`crypt`) VALUES ('1','lissyara', ENCRYPT('1'));
Query OK, 1 row affected, 5 warnings (0.01 sec)
mysql> SELECT `id`,`login`,`crypt` FROM `users` WHERE `crypt`=ENCRYPT('1');
Empty set (0.00 sec)
mysql> EXPLAIN SELECT `id`,`login`,`crypt` FROM `users` WHERE `crypt`=ENCRYPT('1');
+----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
| 1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Impossible WHERE noticed after reading const tables |
+----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT `id`,`login`,`crypt` FROM `users`
-> ;
+----+----------+---------------+
| id | login | crypt |
+----+----------+---------------+
| 1 | lissyara | CK6icu68aXXfI |
+----+----------+---------------+
1 row in set (0.00 sec)
mysql> SELECT ENCRYPT('1');
+---------------+
| ENCRYPT('1') |
+---------------+
| rNwABFl8T3t/E |
+---------------+
1 row in set (0.00 sec)
mysql> SELECT ENCRYPT('1');
+---------------+
| ENCRYPT('1') |
+---------------+
| zNgEarKlMAyRk |
+---------------+
1 row in set (0.00 sec)
mysql> SELECT ENCRYPT('1');
+---------------+
| ENCRYPT('1') |
+---------------+
| zNgEarKlMAyRk |
+---------------+
1 row in set (0.00 sec)
mysql> SELECT ENCRYPT('1');
+---------------+
| ENCRYPT('1') |
+---------------+
| .OAqZu5d631fg |
+---------------+
1 row in set (0.00 sec)
mysql> SELECT ENCRYPT('1');
+---------------+
| ENCRYPT('1') |
+---------------+
| /OW4qGBUPOORI |
+---------------+
1 row in set (0.00 sec)
mysql> SELECT ENCRYPT('1');
+---------------+
| ENCRYPT('1') |
+---------------+
| 0O.RbtEOUXN0. |
+---------------+
1 row in set (0.00 sec)
mysql>
вопросы?

))
Re: MySQL encrypt
Добавлено: 2007-09-03 15:54:17
lestat
эм, да, появились

а что делать? в Вашей статье ведь указано использовать encrypt?

палка о 2х концах
Re: MySQL encrypt
Добавлено: 2007-09-03 16:02:59
Alex Keda
эт где такое указано?
==========
сравнивать надо как-то иначе...
как - не подскажу - не заморачивался с таким вопросом...
Re: MySQL encrypt
Добавлено: 2007-09-03 16:09:13
lestat
ой, прошу прощения не у Вас а в другой статье...
хорошо, спасибо за помощь.
Re: MySQL encrypt
Добавлено: 2007-09-03 17:39:38
dikens3
Именно поэтому я и не делал криптованные пароли.
А вообще порыскай про salt (Это стандартное дополнение при криптовании, возможно пароль будет всегда одинаковый)