디버깅 전용 목적 큰 문자열 (시각화하기 어려운 session_id)을 6 문자 "해시"로 매핑하고 싶습니다. 이 해시는 어떤 방식 으로든 보안이 필요하지 않으며 계산하기가 저렴하고 길이가 고정되어 줄어 듭니다 (md5가 너무 깁니다). 입력 문자열의 길이는 제한이 없습니다.문자열을 작은 고정 길이 문자열에 매핑하는 것
비싸지 않게 계산할 때 비싸지 않은 "cheap_hash"를 어떻게 구현합니까? 그것은이 같은 생성해야합니다 : 이것은 당신이해야 할 일을해야
def compute_cheap_hash(txt, length=6):
# do some computation
return cheap_hash
print compute_cheap_hash("SDFSGSADSADFSasdfgsadfSDASAFSAGAsaDSFSA2345435adfdasgsaed")
aBxr5u
충돌로 걱정하지 않으면 MD5에서 처음 6자를 가져옵니다. –
일반적으로 매우 빠르기 때문에 체크섬 알고리즘을 살펴볼 수 있습니다. –
충돌에 대해 전혀 걱정하지 않습니다. 이것은 단일 런타임에서 최대 1000 개의 문자열을위한 것이며, 충돌이 있어도 디버깅 중입니다. 나는 조금 혼란스러워 할 것이다. – dangonfast