aboutsummaryrefslogtreecommitdiffstats
path: root/PubnubCrypto.py
diff options
context:
space:
mode:
Diffstat (limited to 'PubnubCrypto.py')
-rw-r--r--PubnubCrypto.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/PubnubCrypto.py b/PubnubCrypto.py
index 744f2d3..b7a57a1 100644
--- a/PubnubCrypto.py
+++ b/PubnubCrypto.py
@@ -38,7 +38,8 @@ class PubnubCrypto() :
#* @return msg with padding.
#**
"""
- return msg + ((block_size - len(msg) % block_size) * chr(block_size - len(msg) % block_size))
+ padding = block_size - (len(msg) % block_size)
+ return msg + chr(padding)*padding
def depad( self, msg ):
"""
@@ -60,7 +61,7 @@ class PubnubCrypto() :
#* @return key in MD5 format
#**
"""
- return MD5.new(key).digest()
+ return hashlib.sha256(key).hexdigest()
def encrypt( self, key, msg ):
"""
@@ -73,9 +74,9 @@ class PubnubCrypto() :
"""
secret = self.getSecret(key)
Initial16bytes='0123456789012345'
- cipher = AES.new(secret,AES.MODE_CBC,Initial16bytes)
- return encodestring(cipher.encrypt(self.pad(msg)))
-
+ cipher = AES.new(secret[0:32],AES.MODE_CBC,Initial16bytes)
+ enc = encodestring(cipher.encrypt(self.pad(msg)))
+ return enc
def decrypt( self, key, msg ):
"""
#**
@@ -87,6 +88,6 @@ class PubnubCrypto() :
"""
secret = self.getSecret(key)
Initial16bytes='0123456789012345'
- cipher = AES.new(secret,AES.MODE_CBC,Initial16bytes)
+ cipher = AES.new(secret[0:32],AES.MODE_CBC,Initial16bytes)
return self.depad((cipher.decrypt(decodestring(msg))))