Найти - Пользователи
Полная версия: Помощь по PyCrypto
Начало » Python для новичков » Помощь по PyCrypto
1
Atterratio
Нужны примеры работы с этой библиотекой с RSA и AES алгоритмами. Подойдут ссылки и непосредственно примеры вставленные сюда.
cutwater
Вот что делают люди лишь бы не читать документацию…

https://www.dlitz.net/software/pycrypto/doc/#crypto-cipher-encryption-algorithms
https://www.dlitz.net/software/pycrypto/doc/#crypto-publickey-public-key-algorithms

Это так сложно?
Atterratio
Там было маловато инфы, и сначала я не в те доки полез.
py.user.next
из https://www.dlitz.net/software/pycrypto/doc/#crypto-cipher-encryption-algorithms

>>> from Crypto.Cipher import DES
>>> obj=DES.new('abcdefgh', DES.MODE_ECB)
>>> plain="Guido van Rossum is a space alien."
>>> len(plain)
34
>>> obj.encrypt(plain)
Traceback (innermost last):
File "<stdin>", line 1, in ?
ValueError: Strings for DES must be a multiple of 8 in length
>>> ciph=obj.encrypt(plain+'XXXXXX')
>>> ciph
'\021,\343Nq\214DY\337T\342pA\372\255\311s\210\363,\300j\330\250\312\347\342I\3215w\03561\303dgb/\006'
>>> obj.decrypt(ciph)
'Guido van Rossum is a space alien.XXXXXX'
а как потом понять, что XXXXXX было добавлено для кратности, а не являлось частью изначальной строки ?
Atterratio
Я пока ещё не придумал, но скоро придётся. На скидку, я думаю что надо добывить какой ни будь символ разделения например “|”.
Atterratio
Ещё есть идея, сначала посылать длинну полезных символов не зашифрованными, или стандартной длины, а потом уже само сообщение.
py.user.next
тогда уж всё шифровать
к данным присоединять число значимых байт данных (уникальный разделитель + число + дополнять байтом)

я имел в виду, что должен быть какой-то общепринятый способ для всех программ
потому что openssl, например, прекрасно принимает любые данные и любой пароль (пароль она через md5 превращает в пароль для шифрования)
Atterratio
Ну ты хорошенько продумай, да напиши патчик и придложи его пулнуть в репозиторий.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB