2009-04-30 9 views
7

Por supuesto, se han formulado preguntas similares en stackoverflow pero no quiero usar ninguna biblioteca de terceros como Crypto o algo así. Así que necesito generar un texto cifrado a partir de un correo electrónico de un usuario y descifrarlo para convertirlo en texto sin formato. ¿Cómo puedo hacer esto en Python?¿Puedo cifrar el correo electrónico y descifrarlo utilizando el conjunto de bibliotecas predeterminado de Python?

+3

Por supuesto que * puede * - la criptografía no es más que matemática, después de todo, y Python puede hacer operaciones matemáticas sin extensiones, por lo que no hay nada técnicamente que te impida implementar cualquier algoritmo de criptorgrafía en Python, pero no deberías. Crypto es muy difícil de corregir, e incluso las personas que implementan algoritmos conocidos a menudo cometen errores en la implementación que comprometen la seguridad. –

Respuesta

3

Sí, puedes. Leer http://www.amk.ca/python/code/crypto.html Encontrará una respuesta allí;)

Usted es cuestión no es lo suficientemente concreta a decir más. Es posible que desee leer http://en.wikipedia.org/wiki/Cryptography#Modern_cryptography

Saludos, Tuergeist

Actualizar: No, no se puede. (con funcionalidad incorporada debido a restricciones de exportación, vea http://docs.python.org/library/crypto.html) Pero puede hacerlo, si está implementando su propio algoritmo (mala idea). Entonces, la mejor solución es usar la extensión recomendada por los desarrolladores de Python Core. Ver la publicación anterior.

Saludos de nuevo.

+0

No quiero usar ninguna biblioteca de terceros. PyCrypto es una de esas cosas bien! –

+0

He agregado algunos hechos nuevos. – tuergeist

+1

El primer enlace está roto. [PyCrypto] (https://www.dlitz.net/software/pycrypto/) –

1

Si lo que quieres decir es que quieres rodar tu propio sistema de encriptación, puedes intentar usar los módulos incorporados hmac y hashlib. (hashlib es nuevo para 2.5, por lo que si debe utilizar un pitón anterior, sus opciones de patata son los de mayor edad md5 y sha módulos.)

Si usted se opone a (o se les impide) instalar un tercero biblioteca, pero está bien con el uso de algoritmos de terceros o incluso implementaciones de algoritmos "ligeros" de terceros (por ejemplo, código fuente de Python publicado que reside en un único archivo .py que puede incorporar o importar usted mismo sin setup.py o cualquier otro formal) instalación), entonces le recomiendo encarecidamente que lo haga, porque es probable que sea mejor de lo que usted puede hacer.

El más pequeño y fácil de amable de estos que soy consciente de que se conoce como p3, escrito por Paul Rubin criptógrafo. El enlace original ya no está activo, pero puedes buscarlo. Google actualmente produce a near-exact copy, así como an adaptation for Python 3.

También podría intentar una de varias implementaciones de un solo módulo, Python Rijndael (AES) puros como this o this. (Una vez más, los enlaces no están garantizados para ser permanentes, por lo que es posible que tenga que buscar).

+0

Los enlaces están rotos. – Flimm

Cuestiones relacionadas