Создание NTLM-хеша

Недавно мне потребовальсь перевесть любое строковое значение (например пароль) в NTLMv1-хеш. Я искал различные готовые способы, но мне нужен был максимально простой и удобный функционал и я решил не убивать время на уже готовые аналоги и написал сам, то что мне было нужно.

Описание:

Хеш - блок данных фиксированного размера, полученный в результате хэширования массива данных. Криптографические алгоритмы.
NTLM - протокол сетевой аутентификации Microsoft для Windows NT.
NT ключ вычисляется с помощью алгоритма  MD4 c  UTF-16  с последовательностью байт low endian (utf16le)

Приступает к программированию :)

#!/usr/bin/env python
import sys
import hashlib
#Program generate NTLM hash
if len(sys.argv)==1:
    print "Example: $hash <password>"
else:
    myhash=hashlib.new('md4', sys.argv[1].encode('utf-16le')).hexdigest().upper()
    print myhash
Вот с помощью этого не мудрёного скрипта, можно с лёгкость сгенерить NTLMv1 хеш, без лишней функциональности, ну что попробуем?
  • Сохраняем скрипт например как myhash.py
  • Делаем исполняемым
chmod  +x myhash
  • Запускаем
./myhash.py mypassword
На выхлопе долны получить вот это:

A991AE45AA987A1A48C8BDC1209FF0E7

Ссылки:

Статья на википедии

Теги: , , , ,

Дата: 16 ноября 2010

Автор: Аноним

Комментарии: 0

Оставить комментарий

*

Комментарий:

Ваш e-mail не будет опубликован.
Обязательные поля помечены *

Разрешенные HTML теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>