programing

SHA256 해시의 길이는 얼마나 됩니까?

randomtip 2022. 9. 8. 21:42
반응형

SHA256 해시의 길이는 얼마나 됩니까?

나는 달릴 것이다.SHA256패스워드+소금으로요, 하지만 얼마나 오래 기다려야 할지 모르겠어요.VARCHARMySQL 데이터베이스를 설정할 때 사용합니다.어떤 길이가 좋습니까?

sha256은 이름에서 알 수 있듯이 256비트입니다.

sha256은 16진수 표현을 반환하므로 (ASCII의 경우 등)4비트는 각 문자를 인코딩하기에 충분합니다.따라서 256비트는 64개의 16진수를 나타냅니다.따라서 이 경우,varchar(64), 또는 심지어char(64)길이는 항상 같으며 전혀 변하지 않습니다.

그리고 데모:

$hash = hash('sha256', 'hello, world!');
var_dump($hash);

제공 내용:

$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"

즉, 64자로 이루어진 문자열입니다.

SHA256의 256비트 인코딩 옵션:

  1. Base64: 문자당 6비트 =CHAR(44)패딩 문자 포함
  2. 16진수: 문자당 4비트 =CHAR(64)
  3. 이진수: 바이트당 8비트 =BINARY(32)

BINARY(32)가 최적이기 때문에 사용하고 싶다!

(00 ~ FF) 의 32 자리수의 16 진수를 입력할 수 있습니다.

따라서 BINARY(32)!

왜 VARCHAR로 해?그건 다르지 않아요.항상 64자로 되어 있습니다.온라인 SHA-256 계산기 중 하나에 어떤 것이든 실행함으로써 판별할 수 있습니다.

64글자를 고정할 예정이므로,char(64)

언급URL : https://stackoverflow.com/questions/2240973/how-long-is-the-sha256-hash

반응형