2010-12-16 2 views
4

Можно создать дубликат:
Will the MD5 cryptographic hash function output be same in all programming languages?Может ли хеш md5 строки быть разным в одном месте?

Привет,

У меня есть проблема о md5 хеширования. Пользователи могут загружать профили picures в мой проект. Я использую md5 для имени имени профиля. Но есть что-то интересное. Я хэширую значение как с тестовой страницей на моем сервере, так и с md5, зашифровывая сайты с тем же результатом. Когда я использую это шифрование для переименования изображения, он создает что-то другое. Он создает различную ценность для файла манипуляции с изображениями.

У вас есть идея?

Это мой чек сценарий:

<?php echo md5('funky'); ?> 

Он производит ниже кода на моем сервере, а также на md5encrypter.com:

6b818a3a6bf1234ed24c940021922b63 

Но она производит на мой файл изображения манипуляции ниже кода. Я не знаю, что это такое:

d41d8cd98f00b204e9800998ecf8427e 

Сценарий для запроса sql. $ USERID приходит от авторизовалось USERID:

$sql = mysql_query("SELECT username FROM users WHERE userId='$userId'"); 
while($row=mysql_fetch_assoc($sql)){ 
    $username=$row['username']; 
} 
+1

проверить это http://stackoverflow.com/questions/3450983/will-the-md5-cryptographic-hash-function-output-be-same-in-all-programming-langua/3451013#3451013 – Andrey 2010-12-16 19:40:29

+0

Ахмет мог бы вы добавить какой-нибудь код для ответа? – 2010-12-16 19:44:02

+0

@Jose Я только что отредактировал. – Kemal 2010-12-16 19:56:49

ответ

6

d41d8cd98f00b204e9800998ecf8427e является MD5 хэшем пустой строки, так что где-то вы не смогли заполнить вашу строку с чем-то более полезным ...

MD5 всегда будет производить один и тот же выход для данного входа, в противном случае это не MD5 , То, что я сделал, было просто google для хэша, который у вас был, и у него появилось много хитов. Если бы я не попал в хит, я бы обыскал некоторые из обратных MD5-словарей, которые находятся вокруг, чтобы увидеть, дали ли это некоторые подсказки.

Как повезло, ваш хэш является просто результатом MD5(''), очень распространен. Это ясно указывает на то, что вы пытались получить что-то из своей БД, потерпели неудачу и все равно хешировали.

2

сделать 100% уверен, что вы стандартизация входных данных везде, как в $enc_md5=md5(trim(strtolower($filename)));

Часто непреднамеренного пробельной или капитализации результата в различных MD5 хэш для того, что предполагались идентична данные.

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