2016-05-19 3 views
0

я реализовал на основе клиент-сервер приложений, где каждый клиент, представлен в текстовом виде по электронной почте (так как я должен взаимодействовать с пользователями по электронной почте иногда)XQuery, чтобы получить простой текстовый элемент, имеющий MD5

Клиент отправляет свой адрес электронной почты в виде строки, закодированной в md5 (слабость md5 является еще одной темой, но не релевантной для вопроса.

Я ищу инструкцию xquery для извлечения текстового текста из XML-документа, имеющего его шифрование.

В SQL это было бы что-то вроде select * from db where MD5(db.email)==email

+0

Вы уверены, что [tag: xbase]? Я не вижу, что это связано с XQuery. Вы имели в виду [tag: basex]? –

+0

OUUU да, вы правы .. спасибо! – Jan

ответ

0

BaseX имеет hash: XQuery module, который также содержит функцию MD5 hash:md5($value as xs:anyAtomicType) as xs:base64Binary.

Ваш запрос будет похож на //user[@email eq hash:md5($email)].

+0

спасибо. Как определить переменную $ email? is'nt 'eq' для сравнения одиночных значений? $ email - это последовательность ... мне нужен цикл? – Jan

+0

Это всего лишь пример. Вы не указали каких-либо подробностей в своем контексте, поэтому я просто собрал что-то вместе, чтобы продемонстрировать общее использование. Разумеется, вы также можете использовать '=', если он соответствует вашей задаче. –