Linux is working. The future is open.
При создании какого-либо проекта Вам может потребоваться генерация пары RSA-ключей для подписи документов, файлов и т. д. У меня появилась такая же необходимость и сейчас расскажу как я делал сие на Python (а конкретнее - в Django, но какая разница).
Для начала нам понадобится библиотека Python-RSA. Ставим ее (должны быть права root'а):
pip install rsa
Далее листинг самого процесса:
# Импортим библиотеку: import rsa # Генерируем ключи. В скобках 1024 — "битность" ключа, # key_pub и key_class — экземпляры классов из библиотеки Python-RSA, которые хранят получившиеся ключи: (key_pub, key_private) = rsa.newkeys(1024) # Выводим ключи в текстовом виде: print key_pub.save_pkcs1() print key_private.save_pkcs1() # Если нужно их получить без комментариев одной строкой, я сделал так: key_pub = key_pub.save_pkcs1().replace("-----BEGIN RSA PUBLIC KEY-----", "").replace("-----END RSA PUBLIC KEY-----", "").replace("\n","") key_private = key_private.save_pkcs1().replace("-----BEGIN RSA PRIVATE KEY-----", "").replace("-----END RSA PRIVATE KEY-----", "").replace("\n","")
Вот так все просто. Далее с полученными key_pub и key_private Вы можете делать что хотите, сохранить в базе данных, вывести в файл или просто print'ануть на стандартный вывод.
31 янв 2013 г. | Теги: Python
Есть у меня проект, написанный на Django, в нем регистрируются пользователи чтобы получать определенные услуги. В процессе работы код этих услуг должен был аутентифицировать пользователя, проверить, зарегистрирован ли он на сайте (в Django) или нет, и если зарегистрирован - верный ли пароль он вводит. Сначала у меня была идея лезть напрямую в базу данных сайта, придумать как получать нужный хеш пароля и сравнивать его с тем, что лежит в базе.