ТОП-10 популярных


НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...


Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...

Internet2, или cтарые песни о новом
Когда-то на заре Интернета, тогдаеще военно-научной сетиAPRAnet, были заложены основныепринципы функционирования«Сети сетей». В их числе — использованиепротокола, называемого сейчасIPv4. В...

Все о MySQL. Функции кодировки


28-12-2009

СУБД MySQL оснащена несколькими специализированными функциями, разработанными для выполнения операций кодировки данных. Эти функции перечислены в табл. 7.6.
Функции кодировки
Функция PASSWORD() используется для кодирования строки пароля, удовлетворяющего системе безопасности MySQL. Это кодирование необратимо и выполняется оно с помощью алгоритмов, аналогичных тем, что применяются в UNIX. Оно необходимо для системы аутентификации MySQL, и руководство по использованию MySQL предлагает применять для кодирования функции ENCODE() /DECODE() или AES_ENCRYPT() / AES_DECRYPT() вместо создания специальных приложений.
Функции кодировки
При желании можно прибегнуть к системному вызову операционной системы UNIX crypt() с использованием функции ENCRYPT() , которая принимает для шифрования кодируемую строку и (дополнительно) строку salt (строка, уникальным образом идентифицирующая пароль, во многом подобная ключу).
Функции кодировки
Для кодирования и декодирования строк можно воспользоваться функциями ENCODE() и DECODE() . Функция ENCODE() принимает два аргумента кодируемой строки и ключ, который служит основой для кодирования.
Функции кодировки
Криптологические подсказки
Функция ENCRYPT() работает только в том случае, когда операционная система поддерживает системный вызов crypt(). Результатом работы функции ENCRYPT() в операционных системах семейства Windows, не поддерживающих этот системный вызов, будет NULL.
Результатом вызова функции ENCODE() является двоичная строка, которая должна храниться в переменной типа BLOB. Предыдущий пример будет иметь следующий вид.
Функции кодировки
Более безопасной альтернативой функциям ENCODE() и DECODE() (в них используется относительно слабый механизм защиты) являются функции AES_ENCRYPT() и AES_DECRYPT() , использующие алгоритм усовершенствованного стандарта кодирования (Advanced Encryption Standard, AES). Рассмотрим такой вариант предыдущего примера, который демонстрирует, каким образом могут быть использованы эти функции.
Функции кодировки
Функции кодировки
Как и в случае вызова функции ENCODE(), результатом вызова функции AES_ ENCRYPT() является двоичная строка, которая должна храниться в переменной типа BLOB. Это закодированное значение можно декодировать с помощью функции AES_ DECRYPT() и соответствующего ключа.
Функции кодировки
Самозащита
Если ваша версия СУБД MySQL поддерживает SSL-протокол (Secure Socket Layer), рекомендуем воспользоваться еще более надежным алгоритмом Triple-Data Encryption Standard (DES). Он реализован в функциях DES_ENCRYPT() и DES_ DECRYPT() .
Для того чтобы вычислить контрольную сумму MD5 (128 битов), можно прибегнуть к возможностям функции MD5() .
Функции кодировки
Для того чтобы вычислить контрольные суммы SHA (их длина составляет 160 битов), можно прибегнуть к возможностям функции SHA() .
Функции кодировки
Возвращаемые этими функциями контрольные суммы являются шестнадцатеричны-ми значениям, которые можно использовать в качестве паролей в различных системах аутентификации, что видно из следующего примера.
Функции кодировки

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Функции даты и времени Все о MySQL. Функции управления