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

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

WBOY
풀어 주다: 2024-02-06 10:24:07
앞으로
698명이 탐색했습니다.

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

질문 내용

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

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

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

으아악

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


정답


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

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

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

으아악

출력

으아악

놀이공원으로 가세요

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

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿