myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> md5, RusHub | Библиотека криптографии

Теги
Нет тегов для показа
Setuper
сообщение 5.3.2010, 13:03
Сообщение #1


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Название: md5
Версия: 1.1.2
Хаб: RusHub
Автор библиотеки: Roberto Ierusalimschy
Описание: Библиотека для получения md5 хеша.
Использование: Содержимое архива md5_1.1.2.rar распаковываем в папку libs. В скриптах библиотека подключается так: require"md5"



Мануал по функциям библиотеки

Все функции, зарегистрированные в таблице md5

  • Код
    md5.sum(message)
    Вычисляет MD5 хеши для указанного сообщения. Эта функция берёт входящее сообщение, которое может быть произвольной длины и произвольного содержания, и выводит 128-битный отпечаток (дайджест строки). Входящая строка преобразуется в 16-байтную строку. Предполагается, что это вычисление не может привести к одинаковым хешам от двух различных сообщений.


  • Код
    md5.sumhexa(message)
    Данная функция на подобии функции md5.sum, но возвращает величину из 32-х шестнадцатиричных значений.


  • Код
    md5.crypt(message, key [,seed])
    Кодирует строку, используя MD5, в CFB (Cipher-feedback mode). message - произвольная строка, которая должна быть закодирована. key - произвольная строка, которая используется в качестве ключа для кодирования. seed - необязательный параметр.
    Если необязательный параметр не задан, то вместо него для кодирования используется значение функции os.time(). Рекомендуется использовать различные значения параметра seed для каждого сообщения. Параметр seed не является приватным параметром, которые следует прятать, так как этот параметр передеётся в начале закодированного сообщения.
    Длина закодированного сообщения равна длине сообщения, плюс длина параметра seed, плюс один.


  • Код
    md5.decrypt(message, key)
    Функция декодирует сообщение, закодированное функцией md5.crypt. Для любого сообщения, ключа и параметра seed выполнимо следующее тождество: md5.decrypt(md5.crypt(msg, key, seed), key) == msg


  • Код
    md5.exor(s1, s2)
    Функция возвращает строку в виде побитовой разницы между строками s1 и s2. Строки s1 и s2 должны иметь одинаковую длину, и эта длина равна длине возвращаемой строки.


Библиотека win32: Прикрепленный файл  md5_1.1.2.rar ( 21.47 килобайт ) Кол-во скачиваний: 32

Библиотека win64: Прикрепленный файл  md5_1.1.2_win64.rar ( 20.9 килобайт ) Кол-во скачиваний: 7


Скрипт для тестирования и обучения работе с функциями: Прикрепленный файл  test_md5.lua ( 2.64 килобайт ) Кол-во скачиваний: 12

Проект для сборки на vs2008: Прикрепленный файл  md5_1.1.2_src_vs9.zip ( 24.57 килобайт ) Кол-во скачиваний: 2


Спасибо сказали:
Go to the top of the page
+Quote Post
Nickolya
сообщение 6.3.2010, 15:18
Сообщение #2


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Спасибо за библиотеку. Есть вопрос, вот допустим нам нужно взаимодействие пхп - луа, но мы не хотим передавать данные в виде "как есть", хотим шифровать их, какие функции в пхп и луа (при помощи этой библиотеки) можно использовать для совместного использования?
Go to the top of the page
+Quote Post
Setuper
сообщение 6.3.2010, 15:47
Сообщение #3


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




В php есть функция:
Код
string md5(string $str [, bool raw_output])


Проводим аналоги этой функции в Lua:

Код
php <-> lua
====================
md5($str) <-> md5.sumhexa(str)
md5($str, true) <-> md5.sum(str)
Go to the top of the page
+Quote Post
Nickolya
сообщение 6.3.2010, 16:08
Сообщение #4


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Но хотелось бы именно фукнции кодировки с ключом, а мд5 сумма больше подходит для контроля целостности файла чем для шифрования...
Go to the top of the page
+Quote Post
Setuper
сообщение 6.3.2010, 17:05
Сообщение #5


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




а что значит взаимодействие php и lua ?
Go to the top of the page
+Quote Post
Nickolya
сообщение 6.3.2010, 17:39
Сообщение #6


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Допустим пхп кодирует сообщение и только 1 раз передает особым образом ключ кодирования, а уже в луа надо сообщение расшифровать. Вот и вся задача в том какие функции одного шифрования будут работать и в пхп и в луа...
Go to the top of the page
+Quote Post
Setuper
сообщение 6.3.2010, 18:22
Сообщение #7


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




А где это использовать?
Ведь мы вместо php используем lua.
Тут ведь скорее вот как надо: при помощи lua кодируем сообщение и в js коде передаём браузеру функцию декодирования. Опять же при помощи js пользователь вводит у себя там секретный ключ, который запишется в его js переменную и может использоваться для декодирования. Поэтому функцию декодирования нужно не для php искать, а для js big_smile.gif
Go to the top of the page
+Quote Post
Nickolya
сообщение 6.3.2010, 21:59
Сообщение #8


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Да, сейчас при наличии луа для веба необходимость отпала, однако раньше это можно было использовать...
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Сейчас: 28.3.2024, 17:49