회사에서 일을 하다가 고유아이디를 만들어서 넣어야 할 일이 생겼다.
아래 방법으로 약 49억개(?)의 경우의 수가 만들어진다고 하는데... 뭐 유저가 그렇게 될일은
하늘이 두쪽이 나도 없을테이고...아래 방법으로 시작해보았다.
CRC32 를 이용할때는 binascii 을 임포트해서 사용한다.
LONG 형으로 바꿨다가 문자열로 다시 바꿔야 하는 작업이 필요하다.
import binascii
import struct
text = "고유아이디"
crc = binascii.crc32(text)
def crc2hex(crc):
res=''
for i in range(4):
t=crc & 0xff
crc >>= 8
res='%02x%s' % (t, res)
print res
print "CRC32(hex1):", crc2hex(crc)
print "CRC32(hex2):", "%08x" % struct.unpack("I", struct.pack("i", crc))
print "CRC32(hex3):", binascii.hexlify(struct.pack("!l", crc))
로 확인해볼수 있다.
반응형
'IT라이프 > Linux' 카테고리의 다른 글
리눅스 설정파일 로딩순서 (bash_) (0) | 2016.04.18 |
---|---|
SVN (0) | 2015.03.04 |
install Homebrew (0) | 2014.03.20 |
M2Crypto 설치 on Mac OS X 10.8 (0) | 2013.10.09 |
Django template 変数繰り返し (0) | 2013.09.30 |
댓글