2013-05-15 5 views
2

Когда я бегу:Длина 64 символов mysql MD5?

SELECT MD5( "WhatIsWrongWithThis?") AS hash 

Я получаю 64 символов выход

6631303664616331363338613139623830363332663233656662643635633039 

, который отличается от моего PHP 32 ожидаемых результатов

f106dac1638a19b80632f23efbd65c09 
  • я заметил, что мой удаленный MySQL Это хорошо.
  • Уже перезапущен сервис mysql.

local and remote mysql md5 comparison

Что здесь происходит?


UPDATE:

Примечание: проблема происходит на двух уровнях:

  1. PHP/MySQL SOLVED by reboot
  2. PhpMyAdmin SOLVED by checkbox

1. PHP/MySQL

Я уже пытался остановить и перезапустить сервер MySQL и ничего .. Затем после того как я перезагрузил компьютер проблема 1. исчезла.

ЕЩЕ НЕТ ПОНЯТИЯ ПОЧЕМУ

2. PHPMYADMIN

После ответов и комментариев, которые я видел, что на самом деле PHPMYADMIN был «Показывать бинарные содержимое как HEX» проверено флажок ...Непроверка это решается вопрос проблемы 2 PHPMYADMIN:

enter image description here

ответ

2

Когда я выполнить запрос, я получаю такой же, как PHP:

HASH 
f106dac1638a19b80632f23efbd65c09 

Смотрите это работает в SQLFiddle


Я вижу, что происходит: вы видите hex результата, как если бы вы казнены

SELECT HEX(MD5( "WhatIsWrongWithThis?")) AS hash 

f является 66 шестигранной
1 является 31 шестигранной
и так далее

Ваш инструмент консоли должен быть преобразование его

+0

Там нет функций, определенных как я никогда не определен какой-либо. – Luciano

+1

Я понял это - см. Отредактированный ответ – Bohemian

+0

Интересно! Посмотрите, когда я доберусь до офиса. – Luciano

0

На самом деле, если я напомните правильно, вы можете видеть, что ваш вывод «64 длины» составлен только из чисел, было что-то о том, что PHPMyAdmin читает результат как двоичный.

Надеюсь, вы будете иметь возможность получить больше информации об этом здесь:

MD5(RAND()) on MySQL returning only digits

Смежные вопросы