cuál es el mejor módulo/paquete en python para usar des/3des para cifrado/descifrado. podría alguien proporcionar un ejemplo para cifrar datos con des/3des en python.usando DES/3DES con python
Respuesta
pyDes se puede utilizar para DES y 3DES. Ejemplo de uso:
from pyDes import *
data = "Please encrypt my data"
k = des("DESCRYPT", CBC, "\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)
print "Encrypted: %r" % d
print "Decrypted: %r" % k.decrypt(d)
assert k.decrypt(d, padmode=PAD_PKCS5) == data
Una alternativa es el Chillkat Python Encryption Library que soporta una gran cantidad de algoritmos de cifrado DES (incluyendo & 3DES), pero es no libre. Ejemplo de uso:
crypt.put_CryptAlgorithm("des")
crypt.put_CipherMode("cbc")
crypt.put_KeyLength(64)
crypt.put_PaddingScheme(0)
crypt.put_EncodingMode("hex")
ivHex = "0001020304050607"
crypt.SetEncodedIV(ivHex,"hex")
keyHex = "0001020304050607"
crypt.SetEncodedKey(keyHex,"hex")
encStr = crypt.encryptStringENC("The quick brown fox jumps over the lazy dog.")
print encStr
decStr = crypt.decryptStringENC(encStr)
print decStr
De todos modos, espero que usted es consciente de que ni el DES ni 3DES se consideran paritcularly segura hoy en día, hay muchas alternativas mejores (AES en primer lugar si usted quiere meter a estándares, o Twofish, Blowfish, etc ...)
Puede usar el contenedor M2Crypto Python para OpenSSL. Tiene la ventaja de ser rápido (tan rápido como OpenSSL), pero la desventaja de la documentación es limitada.
Aquí está el ejemplo my answer-"How to 3DES encrypt in Python using the M2Crypto wrapper? "
with open(keyfile, 'rb') as f:
key = f.read()
encrypt = 1
cipher = Cipher(alg='des_ede3_ecb', key=key, op=encrypt, iv='\0'*16)
ciphertext = cipher.update(plaintext)
ciphertext += cipher.final()
El enlace M2Crypto que tienes está muerto. – BlackVegetable
- 1. ¿Usando DPAPI con Python?
- 2. Usando ffmpeg con Python 2.7
- 3. Usando Python 3.1 con TextMate
- 4. Usando diferentes versiones de python con virtualenvwrapper
- 5. Buscar host con dirección MAC usando Python
- 6. Python - Validación con varios esquemas usando lxml
- 7. Usando `@ unittest.skipIf` con versiones anteriores de Python
- 8. Interfaz con computadoras remotas usando Python
- 9. usando Python "con" declaración con excepción try-bloque
- 10. Coincide con una línea con varias expresiones regulares usando Python
- 11. ETL usando Python
- 12. Usando wget vía Python
- 13. Notificación usando python
- 14. usando python 2.6?
- 15. Python Pulp usando Matrices
- 16. Eliminar subcadena usando Python
- 17. Sobrescribir propiedad usando Python
- 18. xauth usando python-oauth2
- 19. Usando os.execvp en Python
- 20. oauth google usando python
- 21. Usando alias con nohup
- 22. Python C API: Usando PyEval_EvalCode
- 23. Usando el correo electrónico.HeaderParser con imaplib.fetch en python?
- 24. ¿Cómo puedo abrir varios archivos usando "con abierto" en Python?
- 25. Ambos usando cookies y un proxy en Python con urllib2
- 26. Lee un archivo del servidor con ssh usando python
- 27. Usando DRAKON con la prueba de Python: excepto: excepciones
- 28. Cómo guardar los registros generados usando selenio con python
- 29. Mejor enfoque con clases dinámicas usando Python globals()
- 30. Cómo hacer una trama 4d usando Python con matplotlib
>>> print encStr \ – Ska
Ninguno de impresión "Cifrado:?% R" % d ---> ¿Por qué no hay paréntesis – CaTx
no puede concat bytes a int ----> error en python 3 ??? – Mehrdad