나는 위의 코드 줄을 발견했을 때 파이썬으로 코드를 읽었습니다. 위의 코드 줄에서 무엇을 설명 할 수 있습니까?다음 코드 줄은 무엇을합니까?
-8
A
답변
2
이 줄은 임의의 16 자의 16 진수 문자열을 만듭니다.
random.random()
는 범위 [0.0, 1.0)에서 임의의 실수 값을 생성한다.>>> import random >>> random.random() 0.845295579640289
str()
는 임의의 값의 캐릭터 라인 버전을 생성합니다.>>> str(0.845295579640289) '0.84529557964'
hashlib.md5()
문자열 값으로 초기화 MD5 message digest 해시 객체를 생성한다.>>> hashlib.md5('0.84529557964') <md5 HASH object @ 0x10074c530>
- 는 다이제스트는 16 진수로 표현 된 해시를 생성한다. MD5 알고리즘은 32 자 생산하는 수단 16 진수로 표현 될 때, 정보의 16 바이트를 생성한다 :
>>> hashlib.md5('0.84529557964').hexdigest() '5180b52225eac65bee1d6419e28ef397'
[:16]
슬라이스 제 16 개 문자를 골라낸다. 이 단계는 32 중 단지 처음 16 자 다이제스트를 반으로되어>>> '5180b52225eac65bee1d6419e28ef397'[:16] '5180b52225eac65b'
모두 모두, 임의의 16 문자의 16 진수 값을 생산하는 대신, 자세한 비효율적이고 안전하지 않은 방법입니다. I는 진수에 대신 인코딩 os.urandom()
사용할 것이다 :
>>> import os
>>> os.urandom(8).encode('hex')
'a8cb7b56d476b556'
도 완전히 무작위 16 개 진수 문자를 생성한다.
내 crypto-fu는 그렇게 좋지는 않지만 후자의 형식은 부동 소수점 의사 난수 값 문자열의 MD5 해시 절반을 차지하는 것보다 암호 학적으로 강하다는 인상을 받았습니다.
-1
md5
은 128 비트 체크섬을 생성하고 텍스트 형식의 32 자리 16 진수로 표현되는 암호화 - 암호 해독 기술입니다. 이렇게 hashlib.md5(str(random.random())).hexdigest()
는 당신에게이 수를 문자열로주고 [:16]
는 그 해시의 처음 16 자리를 추출하여 var
에 저장합니다. 자세한 내용은이 참고 자료를 참조하십시오.
관련 문제
- 1. 해당 코드 줄은 무엇을합니까?
- 2. 이 코드 줄은 무엇을합니까?
- 3. Javascript Regex의이 줄은 무엇을합니까?
- 4. 자바 스크립트 -이 줄은 무엇을합니까?
- 5. C# 코드의이 줄은 실제로 무엇을합니까?
- 6. Ruby의 다음 줄은 무엇을합니까? "정수 >> 정수"
- 7. 다음 코드 줄은 xslt에서 무엇을 의미합니까?
- 8. : 다음 줄은 오류의 원인이되는
- 9. 이 줄은 underscore.js의 맨 아래에서 무엇을합니까?
- 10. 다음 파이썬 코드 스 니펫은 무엇을합니까?
- 11. 이 코드 줄은 무엇을하려고합니까?
- 12. 이 어셈블리 코드 행은 무엇을합니까?
- 13. 다음 코드 줄은 VS2010에서는 정상이지만 VS2012에서는 그렇지 않은 이유는 무엇입니까?
- 14. 이 코드 줄은 어디에 있습니까?
- 15. 다음 파이썬 코드는 무엇을합니까?
- 16. 다음 무한 루프는 무엇을합니까?
- 17. 다음 파이썬 코드는 무엇을합니까?
- 18. 다음 쉘 스크립트는 무엇을합니까
- 19. 다음 정규식은 무엇을합니까?
- 20. 다음 세그먼트는 무엇을합니까? - Python
- 21. $ 기호는 다음 코드에서 무엇을합니까?
- 22. 다음 함수는 PHP에서 무엇을합니까?
- 23. 큰 정수, 제곱근, 자바 및 C :이 줄은 무엇을합니까?
- 24. PyDev에서 '다음 문장 설정'버튼은 무엇을합니까?
- 25. 이 코드 라인은 무엇을합니까?
- 26. 배쉬 코드, 이것은 무엇을합니까?
- 27. 다음 Makefile/shell/sed 행은 무엇을합니까?
- 28. super (context, Database_Name, null, version)이 줄은 무엇을합니까?
- 29. 내 간단한 코드/클래스는 무엇을합니까
- 30. 이 코드 스 니펫은 무엇을합니까?
아마도 당신이 볼 코드의 비트를 실행하려고 할 수 있을까? – buruzaemon
pyython을 모르지만 여기에 내가 가서 : 무작위 문자열을 얻고, whith md5 en 해시 후 16 길이 16 진수 문자열을 얻으십시오. http://forums.udacity.com/questions/100116165/what-does-hexdigest-and-what- do-it-do \ – lordkain