Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 base64 인코딩을 이해하고 계십니까?

<시간/>

base64를 인코딩하려면 두 가지 기능을 사용할 수 있습니다.

  • TO_BASE64()
  • FROM_BASE64()

base64 인코딩 구문은 다음과 같습니다 -

SELECT TO_BASE64(anyValue) as AnyVariableName;

base64 디코딩을 위한 구문은 다음과 같습니다 -

SELECT FROM_BASE64(encodeValue) as anyVariableName

위의 개념을 이해하기 위해 위의 구문을 사용하겠습니다 -

사례 1 − 인코딩

값을 인코딩하려면 to_base64()를 사용합니다. 쿼리는 다음과 같습니다 -

mysql> select TO_BASE64('Password') as Base64EncodeValue;

출력

+-------------------+
| Base64EncodeValue |
+-------------------+
| UGFzc3dvcmQ=      |
+-------------------+
1 row in set (0.00 sec)

사례 2 - 디코딩

값을 디코딩하려면 from_base64()를 사용하세요. 쿼리는 다음과 같습니다 -

mysql> select FROM_BASE64('UGFzc3dvcmQ=') as Base64DecodeValue;

출력

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

테이블을 생성하면 이를 이해할 수 있습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table Base64Demo
-> (
-> ProductId varchar(100)
-> );
Query OK, 0 rows affected (0.54 sec)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -

mysql> insert into Base64Demo values('321Product');
Query OK, 1 row affected (0.16 sec)

mysql> insert into Base64Demo values('Product456');
Query OK, 1 row affected (0.14 sec)

mysql> insert into Base64Demo values('654Product');
Query OK, 1 row affected (0.15 sec)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select *from Base64Demo;

출력

+------------+
| ProductId  |
+------------+
| 321Product |
| Product456 |
| 654Product |
+------------+
3 rows in set (0.00 sec)

다음은 base64로 인코딩할 쿼리입니다. 쿼리는 다음과 같습니다 -

mysql> select TO_BASE64(ProductId) as Base64Encode from Base64Demo;

출력

+------------------+
| Base64Encode     |
+------------------+
| MzIxUHJvZHVjdA== |
| UHJvZHVjdDQ1Ng== |
| NjU0UHJvZHVjdA== |
+------------------+
3 rows in set (0.00 sec)

이제 열의 첫 번째 값을 디코딩한 후 원래 값을 얻었는지 여부를 교차 확인하겠습니다. 쿼리는 다음과 같습니다 -

mysql> select FROM_BASE64('MzIxUHJvZHVjdA==') as DecodeValue;

출력

+-------------+
| DecodeValue |
+-------------+
| 321Product  |
+-------------+
1 row in set (0.00 sec)

예, 초기 값을 얻고 있습니다.