Страница 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') 
покажи запрос нормально и

Код: Выделить всё

SHOW CREATE TABLE `имя_таблицы`

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 (Это стандартное дополнение при криптовании, возможно пароль будет всегда одинаковый)