Use hashlib module in favor of sha and md5.

This commit is contained in:
Stephan Erb 2009-01-08 16:51:26 +00:00
parent cca10e6d29
commit e00f871b26
5 changed files with 23 additions and 32 deletions

View File

@ -30,10 +30,10 @@
import os
import base64
import sha
import socket
import sys
import operator
import hashlib
from time import (altzone, daylight, gmtime, localtime, mktime, strftime,
time as time_time, timezone, tzname)
@ -1049,7 +1049,7 @@ class ConnectionVcard:
photo = vcard['PHOTO']['BINVAL']
photo_decoded = base64.decodestring(photo)
gajim.interface.save_avatar_files(our_jid, photo_decoded)
avatar_sha = sha.sha(photo_decoded).hexdigest()
avatar_sha = hashlib.sha1(photo_decoded).hexdigest()
iq2.getTag('PHOTO').setTagData('SHA', avatar_sha)
else:
gajim.interface.remove_avatar_files(our_jid)
@ -1205,7 +1205,7 @@ class ConnectionVcard:
photo = vcard['PHOTO']['BINVAL']
try:
photo_decoded = base64.decodestring(photo)
avatar_sha = sha.sha(photo_decoded).hexdigest()
avatar_sha = hashlib.sha1(photo_decoded).hexdigest()
except Exception:
avatar_sha = ''
else:

View File

@ -38,6 +38,8 @@ import errno
import select
import base64
import sys
import hashlib
from encodings.punycode import punycode_encode
import gajim
@ -45,18 +47,6 @@ from i18n import Q_
from i18n import ngettext
import xmpp
try:
# Python 2.5
import hashlib
hash_md5 = hashlib.md5
hash_sha1 = hashlib.sha1
except ImportError:
# Python 2.4
import md5
import sha
hash_md5 = md5.new
hash_sha1 = sha.new
try:
from osx import nsapp
except ImportError:
@ -731,7 +721,7 @@ def get_jid_from_iq(iq_obj):
def get_auth_sha(sid, initiator, target):
''' return sha of sid + initiator + target used for proxy auth'''
return hash_sha1("%s%s%s" % (sid, initiator, target)).hexdigest()
return hashlib.sha1("%s%s%s" % (sid, initiator, target)).hexdigest()
distro_info = {
@ -847,7 +837,7 @@ def sanitize_filename(filename):
latin characters, and is not too long (in that case hash it)'''
# 48 is the limit
if len(filename) > 48:
hash = hash_md5(filename)
hash = hashlib.md5(filename)
filename = base64.b64encode(hash.digest())
filename = punycode_encode(filename) # make it latin chars only
@ -1250,9 +1240,9 @@ def compute_caps_hash(identities, features, dataforms=[], hash_method='sha-1'):
S += '%s<' % value
if hash_method == 'sha-1':
hash_ = hash_sha1(S)
hash_ = hashlib.sha1(S)
elif hash_method == 'md5':
hash_ = hash_md5(S)
hash_ = hashlib.md5(S)
else:
return ''
return base64.b64encode(hash_.digest())

View File

@ -25,7 +25,7 @@
import socket
import struct
import sha
import hashlib
import os
from errno import EWOULDBLOCK
@ -645,9 +645,10 @@ class Socks5:
''' get sha of sid + Initiator jid + Target jid '''
if 'is_a_proxy' in self.file_props:
del(self.file_props['is_a_proxy'])
return sha.new('%s%s%s' % (self.sid, self.file_props['proxy_sender'],
return hashlib.sha1('%s%s%s' % (self.sid,
self.file_props['proxy_sender'],
self.file_props['proxy_receiver'])).hexdigest()
return sha.new('%s%s%s' % (self.sid, self.initiator, self.target)).\
return hashlib.sha1('%s%s%s' % (self.sid, self.initiator, self.target)).\
hexdigest()
class Socks5Sender(Socks5, IdleObject):

View File

@ -22,18 +22,17 @@ See client_nb.py
from protocol import NS_SASL, NS_SESSION, NS_STREAMS, NS_BIND, NS_AUTH
from protocol import Node, NodeProcessed, isResultNode, Iq, Protocol, JID
from client import PlugIn
import sha
import base64
import random
import itertools
import dispatcher_nb
import md5
import hashlib
import logging
log = logging.getLogger('gajim.c.x.auth_nb')
def HH(some): return md5.new(some).hexdigest()
def H(some): return md5.new(some).digest()
def HH(some): return hashlib.md5(some).hexdigest()
def H(some): return hashlib.md5(some).digest()
def C(some): return ':'.join(some)
try:
@ -372,8 +371,8 @@ class NonBlockingNonSASL(PlugIn):
if query.getTag('digest'):
log.info("Performing digest authentication")
query.setTagData('digest',
sha.new(self.owner.Dispatcher.Stream._document_attrs['id'] +
self.password).hexdigest())
hashlib.sha1(self.owner.Dispatcher.Stream._document_attrs['id']
+ self.password).hexdigest())
if query.getTag('password'):
query.delChild('password')
self._method = 'digest'
@ -383,7 +382,7 @@ class NonBlockingNonSASL(PlugIn):
log.info("Performing zero-k authentication")
def hasher(s):
return sha.new(s).hexdigest()
return hashlib.sha1(s).hexdigest()
def hash_n_times(s, count):
return count and hasher(hash_n_times(s, count-1)) or s

View File

@ -18,7 +18,8 @@
## along with Gajim. If not, see <http://www.gnu.org/licenses/>.
import locale, random, sha
import locale, random
from hashlib import sha1
from transports_nb import NonBlockingTransport, NonBlockingHTTPBOSH,\
CONNECTED, CONNECTING, DISCONNECTED, DISCONNECTING,\
urisplit, DISCONNECT_TIMEOUT_SECONDS
@ -527,10 +528,10 @@ class KeyStack():
def reset(self):
seed = str(get_rand_number())
self.keys = [sha.new(seed).hexdigest()]
self.keys = [sha1(seed).hexdigest()]
for i in range(self.count-1):
curr_seed = self.keys[i]
self.keys.append(sha.new(curr_seed).hexdigest())
self.keys.append(sha1(curr_seed).hexdigest())
def get(self):
if self.first_call: