Código de Python - Codificar y Decodificar en Rijndael / AES

Imágen de perfil

Codificar y Decodificar en Rijndael / AESgráfica de visualizaciones


Python

Publicado el 10 de Febrero del 2016 por xve
997 visualizaciones desde el 10 de Febrero del 2016. Una media de 28 por semana
Este código de ejemplo muestra como codificar un texto con Rijndael / AES a 128 bits

Versión 1.0

Publicado el 10 de Febrero del 2016gráfica de visualizaciones de la versión: Versión 1.0
998 visualizaciones desde el 10 de Febrero del 2016. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from Crypto.Cipher import AES
import base64
import os
 
key = "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16"
iv = "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x10\x11\x12\x13\x14\x15\x16"
replace_plus = "BIN00101011BIN"
 
BLOCK_SIZE = 16
 
pad = lambda s: s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) \
* chr(BLOCK_SIZE - len(s) % BLOCK_SIZE)
unpad = lambda s : s[0:-ord(s[-1])]
 
# encrypta con AES y codifica con base64
def EncodeAES(s):
	c = AES.new(key, AES.MODE_CBC, iv)
	s = pad(s)
	s = c.encrypt(s)
	s = base64.b64encode(s)
	return s.replace("+", replace_plus)
 
def DecodeAES(enc):
	c = AES.new(key, AES.MODE_CBC, iv)
	enc = enc.replace(replace_plus, "+")
	enc = base64.b64decode(enc)
	enc = c.decrypt(enc)
	return unpad(enc)
 
texto = "la casa azul"
 
# encriptar
encoded = EncodeAES(texto)
print 'Cadena encriptada:', encoded
 
# desencriptar
decoded = DecodeAES(encoded)
print 'Cadena desencriptada:', decoded



Comentarios sobre la versión: Versión 1.0 (0)


No hay comentarios
 

Comentar la versión: Versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s3429