2015-04-24 2 views
0

У меня есть экземпляр MediaWiki, который использует базу данных sqlite вместо MySQL. standard documentation on resetting password объясняет, как сбросить пароль для MySQL, но не для SQLite базы данных:Как перевести эту команду MySQL на команду SQLite?

MySQL подсоленной (убедитесь, что оба экземпляра «somesalt» одни и те же):

UPDATE `user` 
SET user_password = CONCAT(':B:somesalt:', MD5(CONCAT('somesalt-', MD5('somepass')))) 
WHERE user_name = 'someuser'; 

Как один перевод это подходящая команда sqlite?

ответ

1

Документация не отображает команду для SQLite, поскольку она не имеет встроенной функции MD5.

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

SELECT CONCAT(':B:somesalt:', MD5(CONCAT('somesalt-', MD5('somepass')))); 

:B:somesalt:e565ddf094ec99d4963cb2cb3d803d82 
+0

Я не уверен, я понимаю, как sqlfiddle.com входит в ответ. Вы не показали OP, как вычислить его там, и OP не мог использовать sqlfiddle.com в своем коде. Они могли бы так же просто использовать свой собственный экземпляр sqlite, чтобы попытаться вычислить расчет ... который вы также не предлагаете никакой помощи. – paqogomez

+0

Спасибо. У кого-нибудь есть смысл, что такое 'somesalt'? Должен ли я просто использовать значение, которое я вижу в настоящее время в базе данных? – qazwsx

+0

См. [Соль] (http://en.wikipedia.org/wiki/Salt_%28cryptography%29). Вы должны использовать новое случайное значение. –