>백엔드 개발 >파이썬 튜토리얼 >Python을 사용하여 md5 암호화를 구현하는 방법

Python을 사용하여 md5 암호화를 구현하는 방법

WBOY
WBOY앞으로
2023-05-13 20:04:045641검색

Python은 MD5 암호화를 구현합니다

1. 소개

메시지 다이제스트 알고리즘 MD5(중국어로는 메시지 다이제스트 알고리즘 버전 5라고 함)는 완전하고 일관된 정보 전송을 보장하기 위해 컴퓨터 보안 분야에서 널리 사용되는 해시 함수입니다. MD5는 단방향 암호화입니다. 즉, 데이터를 암호화할 수만 있고 해독할 수는 없습니다. 이는 주로 데이터 무결성 문제를 해결합니다.

다이제스트 알고리즘은 해시 알고리즘, 해시 알고리즘이라고도 합니다. 함수를 통해 모든 길이의 데이터를 고정 길이 데이터 문자열(일반적으로 16진수 문자열로 표시)로 변환합니다. MD5는 가장 일반적인 다이제스트 알고리즘으로 문자열, 파일 또는 압축된 패키지에서 md5를 실행한 후 일반적으로 32비트 16진수 문자열로 표시되는 고정 길이 128비트 문자열을 생성합니다. .

python3 표준 라이브러리에서는 md5 모듈이 제거되었으며 해시 암호화 알고리즘은 hashlib 표준 라이브러리에 배치되었습니다. hashlib는 SHA1, SHA224, SHA256, SHA384, SHA512 및 MD5 알고리즘 등과 같은 일반적인 다이제스트 알고리즘을 제공합니다.

2. 목적

등록된 사용자의 비밀번호를 암호화합니다. 사용자 비밀번호 저장 시 비밀번호 자체는 기록되지 않으며, 비밀번호에 대한 MD5 결과만 기록됩니다. (데이터베이스를 도난당하더라도 일반 텍스트를 유추할 수 없습니다.) ). 웹사이트 사용자가 이미지/파일을 업로드한 후 MD5 값이 파일 이름으로 사용됩니다. (MD5는 고유성을 보장할 수 있습니다.) MD5 값은 키-값 데이터베이스에서 키로 사용됩니다. 두 파일을 비교하여 동일한지 확인합니다. (리소스를 다운로드할 때 웹사이트에서 파일 변조 여부를 감지하는 데 사용되는 MD5 값을 제공하는 것을 발견했습니다.)

3 hashlib 모듈을 사용하여 md5 작업을 수행합니다

import hashlib

md5 = hashlib.md5()   				# md5对象,md5不能反解,但是加密是固定的

# update需要一个bytes格式参数
md5.update(str.encode('utf-8'))  	# 要对哪个字符串进行加密,就放这里
value = md5.hexdigest()  			# 拿到加密字符串
import hashlib

str = '123456'

md5 = hashlib.md5()   				# 创建md5加密对象
md5.update(str.encode('utf-8'))  	# 指定需要加密的字符串
str_md5 = md5.hexdigest()  			# 加密后的字符串

print(str_md5)						# 结果:e10adc3949ba59abbe56e057f20f883e

위 내용은 Python을 사용하여 md5 암호화를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제