>  기사  >  백엔드 개발  >  MD5 해시에서 문자열로 Btye 배열을 변환하는 이상한 현상이 발생했습니다.

MD5 해시에서 문자열로 Btye 배열을 변환하는 이상한 현상이 발생했습니다.

WBOY
WBOY앞으로
2024-02-06 10:24:07644검색

GO 怪异将 Btye 数组从 MD5 哈希值转换为字符串

질문 내용

무슨 문제인지 알려주실 수 있나요?

해시 합계 함수로 생성된 바이트 배열을 문자열 변환을 통해 변환할 수 없습니다. sprintf를 사용해야 합니다.

코드 조각은 다음과 같습니다.

으아악

hasstringgood 결과는 d41d8cd98f00b204e9800998ecf8427e입니다. hashstringjunk의 결과는 ��ُ�� ���b~


정답


입니다. 임의의 이진 데이터를 인코딩 체계 없이 문자열로 변환하면 데이터가 인쇄 가능한 문자 시퀀스에 매핑될 가능성이 거의 없습니다.

fmt 包的 %x 动词是对二进制数据进行十六进制编码的便捷方法。来自fmt 패키지 문서 에 있는 동사 정의의 "문자열 및 바이트 분할" 섹션에서: p> 으아악

또는 encoding 패키지 아래에 중첩된 패키지를 사용하여 데이터를 인코딩할 수 있습니다.

으아악

출력

으아악

놀이공원으로 가세요

위 내용은 MD5 해시에서 문자열로 Btye 배열을 변환하는 이상한 현상이 발생했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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