Exemple #1
0
class md5:
    def __init__(self, s=''):
        self.finished = False
        self.md5 = JS("new @{{!_md5}}()")
        self.md5.init()
        self.update(s)

    def update(self, s):
        for c in str(s):
            b = ord(c)
            self.md5.update(b)

    def hexdigest(self):
        if not self.finished:
            self.finished = True
            self.md5.finish()
        res = self.md5.getdigestBits()
        return hexstr(res)

    def digest(self):
        if not self.finished:
            self.finished = True
            self.md5.finish()
        return self.md5.getdigestBits()