[실천] 파이톤을 사용하여 해싱 함수 구현!공식 문서 참조 -
개시하다
이번에는 파이톤으로 산열 함수를 실현하고 싶어요!
'산열 함수' 는 암호를 배울 때 자주 나타나는 '입력한 데이터를 보기에 적당한 값으로 복원하기' 함수다.
아래의 문장은 산열 함수를 총결하였으니 반드시 참고하시오!
Python을 참조하는 문서를 설치합니다.
파이톤뿐만 아니라 프로그래밍과 관련된 문서는 읽기가 매우 어렵다.
다음 Python 문서를 참조하십시오.
어때요?
읽기만 할 정도로 섬세하고 저항력이 있죠?
그러므로 이 글에서 우리는 문서의 중요한 부분을 발췌하여 통속적이고 알기 쉬운 방식으로 해설할 것이다!
"해싱 함수를 구현하고 싶습니다."
파이토존의 문서를 읽었지만 실현되지 못했다.
이런 사람을 도울 수 있다면 정말 좋겠다.
오프닝은 좀 일찍 봅시다!
hashlib
Python에서 산열 함수를 실현하려면 모듈 "hashlib"을 가져와야 합니다.
파이썬 파일을 만들고 맨 위에 다음 코드를 붙여넣으십시오.
import hashlib
이렇게 하면 가져오기 성공!hashlib의 기본 사용법
우선 "hashlib"함수의 기본 용법부터 봅시다.
기본적
word = "かるでね"
word2 = "cardene"
# sha256
sha256 = hashlib.sha256()
# updateするたびにたされていく
sha256.update(word.encode()) # かるでね
sha256.update(word2.encode()) # かるでねcardene
print(f"sha256に渡されたダイジェスト値を確認: {sha256.digest()}")
# sha256に渡されたダイジェスト値を確認: b'*u\xb7\xef\xe1\xcc\xd1\x00t\xbe\x9e\xc0E\xb8@g\xee\xd7\xb0\xa0\x02AG\x16WW\xb0\xf7\x1d\xa1Z\x9a'
일일이 확인한다.word = "かるでね"
word2 = "cardene"
먼저 산열 함수를 통과하는 두 개의 변수를 준비했다.# sha256
sha256 = hashlib.sha256()
여기에 사용할 해시 알고리즘을 지정했습니다.이번에 우리가 사용한 것은 산열 알고리즘'sha256'이다.
# updateするたびにたされていく
sha256.update(word.encode()) # かるでね
sha256.update(word2.encode()) # かるでねcardene
문자열을 바이트 문자열로 변환하여 이전의 해시 알고리즘에 전달합니다.変数.encode()
이렇게 하면 바이트 문자열로 변환할 수 있다.산열 함수를 통과하려면 바이트 문자열로 변환해야 하기 때문에 잊지 마십시오.
참고로 아래의 작법도 바이트 문자열로 변환할 수 있다.
b"文字列"
자세히 알고 싶은 사람은 아래의 책을 읽거나 스스로 조사하세요!print(f"sha256に渡されたダイジェスト値を確認: {sha256.digest()}")
마지막으로 산열 함수의 출력을 확인합니다.digest()를 클릭하면 요약 값이 출력됩니다.
요약 값 = 해싱 함수에서 얻은 값입니다.
# sha256に渡されたダイジェスト値を確認: b'*u\xb7\xef\xe1\xcc\xd1\x00t\xbe\x9e\xc0E\xb8@g\xee\xd7\xb0\xa0\x02AG\x16WW\xb0\xf7\x1d\xa1Z\x9a'
정말 영문을 모르겠다.아래와 같이 읽기가 더욱 쉽다.
print(sha256.hexdigest())
# 2a75b7efe1ccd10074be9ec045b84067eed7b0a0024147165757b0f71da15a9a
쉽게 읽을 수 있다고 하지만 전혀 알 수 없는 영어 숫자가 배열되어 있다.이것은 해시치다.
간단명료하게 쓰다
전선이 여러 줄이 지나서 좀 길어졌어요.
사실 더 짧게 쓰는 방법이 있는데 한번 봅시다.
sha256_word = hashlib.sha256(word.encode()).hexdigest()
print(f"ハッシュ関数[sha256]に通した結果(16進形式文字列で表示): {sha256_word}")
# ハッシュ関数(sha256)に通した結果: 3eb903c1a5d61e64e5d9de548763c133db857bfeb4c6fa1ac4f046bf
한 줄만 쓰면 돼요.이것은 사용하기에 더 편리한 것 같다.
계속하다
다음은 다음과 같은 문장으로 총결산할 것이다.
산열 함수를 더 자세히 배울 수 있기 때문에, 관심 있는 사람은 반드시 가야 한다!
(당연히 공짜지!)
Reference
이 문제에 관하여([실천] 파이톤을 사용하여 해싱 함수 구현!공식 문서 참조 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/heku/articles/d850ac5c89b5da텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)