Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 SHA256 해시의 길이는 얼마인가?

MySQL에서 SHA256 해시의 길이 이해하기

이름 그대로 SHA256은 256비트 길이의 해시 값을 생성하는 알고리즘입니다. 여기서 중요한 점은 MySQL에 이 값을 저장할 때 어떤 데이터 타입을 사용해야 하는지 아는 것입니다.

왜 정확히 64자가 필요한가?

SHA256 해시 값은 일반적으로 16진수(hexadecimal) 형태로 표현됩니다. 16진수에서 한 자릿수는 4비트를 나타냅니다. 따라서 256비트 전체를 표현하려면 다음과 같이 계산할 수 있습니다.

256 ÷ 4 = 64자

즉, SHA256 해시 값을 문자열로 저장하려면 VARCHAR(64) 또는 CHAR(64) 데이터 타입을 사용하는 것이 적절합니다.

실습 예제: SHA256 해시 저장하기

1. 테이블 생성

먼저 해시 값을 저장할 테이블을 만들어 보겠습니다.

mysql> create table SHA256Demo
-> (
-> Password varchar(64)
-> );
Query OK, 0 rows affected (0.54 sec)

2. 데이터 삽입

다음으로 64자 길이의 SHA256 해시 값을 테이블에 삽입합니다.

mysql> insert into SHA256Demo values('4e2e1a39dba84a0b5a91043bb0e4dbef23970837');
Query OK, 1 row affected (0.18 sec)

3. 결과 조회

저장된 모든 레코드를 조회해 보겠습니다.

mysql> select * From SHA256Demo;

실행 결과는 다음과 같습니다.

+-------------------------------------------+
| Password |
+-------------------------------------------+
| 4e2e1a39dba84a0b5a91043bb0e4dbef23970837 |
+-------------------------------------------+
1 row in set (0.00 sec)

정리

  • SHA256 해시는 256비트 길이입니다.
  • 16진수 한 자릿수는 4비트를 나타내므로, 해시 값은 64자의 문자열이 됩니다.
  • MySQL에서는 VARCHAR(64) 또는 고정 길이의 CHAR(64) 컬럼으로 저장하는 것이 가장 효율적입니다.