[실천] 파이톤을 사용하여 해싱 함수 구현!공식 문서 참조 -

개시하다


이번에는 파이톤으로 산열 함수를 실현하고 싶어요!
'산열 함수' 는 암호를 배울 때 자주 나타나는 '입력한 데이터를 보기에 적당한 값으로 복원하기' 함수다.
아래의 문장은 산열 함수를 총결하였으니 반드시 참고하시오!
https://chaldene.net/hash
Python을 참조하는 문서를 설치합니다.
파이톤뿐만 아니라 프로그래밍과 관련된 문서는 읽기가 매우 어렵다.
다음 Python 문서를 참조하십시오.
https://docs.python.org/ja/3/library/hashlib.html
어때요?
읽기만 할 정도로 섬세하고 저항력이 있죠?
그러므로 이 글에서 우리는 문서의 중요한 부분을 발췌하여 통속적이고 알기 쉬운 방식으로 해설할 것이다!
"해싱 함수를 구현하고 싶습니다."
파이토존의 문서를 읽었지만 실현되지 못했다.
이런 사람을 도울 수 있다면 정말 좋겠다.
오프닝은 좀 일찍 봅시다!

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
한 줄만 쓰면 돼요.
이것은 사용하기에 더 편리한 것 같다.

계속하다


다음은 다음과 같은 문장으로 총결산할 것이다.
https://chaldene.net/hash-python
산열 함수를 더 자세히 배울 수 있기 때문에, 관심 있는 사람은 반드시 가야 한다!
(당연히 공짜지!)

좋은 웹페이지 즐겨찾기