blob: 948672b8c1e9c264be60f2c78f9dadaafc3bd18e (
plain)
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
|
"""
nary - convert integer to a number with an arbitrary base.
"""
__all__ = ['nary']
_alphabet='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
def _getalpha(r):
if r>=len(_alphabet):
return '_'+nary(r-len(_alphabet),len(_alphabet))
return _alphabet[r]
def nary(number, base=64):
"""
Return string representation of a number with a given base.
"""
if isinstance(number, str):
number = eval(number)
n = number
s = ''
while n:
n1 = n // base
r = n - n1*base
n = n1
s = _getalpha(r) + s
return s
def encode(string):
import md5
return nary('0x'+md5.new(string).hexdigest())
#print nary(12345124254252525522512324,64)
|