Я бегу этот пример кода я нашел, а прибегая к помощи:MD5 (RAND()) на MySQL возвращения только цифры
SELECT MD5(RAND())
Но, к моему удивлению, MD5 возвращает простые цифры, вместо шестнадцатеричных цифр. Использование CONV(MD5(RAND()), 10, 16)
, похоже, решает мою проблему, но в документации по MySQL говорится, что функция MD5 должна возвращать строку уже в шестнадцатеричном формате.
Я что-то не так?
EDIT2: Эта проблема существует только в phpMyAdmin, а не в командной строке MySQL.
EDIT: Моя MySQL версия:
mysql --version
mysql Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (x86_64) using readline 6.1
Пример значение MD5:
6338666264663132376461666163313063656535633666616266396530613335
Кроме того, CONV возвращает очень очень короткую строку, как:
B9
Эта строка часто однозначный и самый длинный, который я получил до сих пор, составлял 5 цифр.
@Gumbo Тогда что такое «9», сделанное посередине этого? – luiscubal
Да, я был неправ. И с длиной 64 он скорее будет базой 4, чтобы получить 128 бит MD5. Это действительно только одно значение MD5? – Gumbo