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

MySQL에서 저장된 MD5 문자열을 10진수 값으로 변환하시겠습니까?

<시간/>

conv() 함수를 cast()와 함께 사용하여 16진수 값에서 10진수 값으로 변환할 수 있습니다.

참고 − MD5는 16진수입니다.

먼저 테이블을 생성하겠습니다 -

mysql> 테이블 DemoTable 생성(비밀번호 텍스트), 쿼리 OK, 영향을 받는 행 0개(0.60초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable values("a5391e96f8d48a62e8c85381df108e98");Query OK, 1개의 row가 영향을 받았습니다(0.16초).mysql> insert into DemoTable values("ea7a32d2dc5bb793af2652dcb6ea"1)> 

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable에서 *선택;

이것은 다음과 같은 출력을 생성합니다 -

+----------------------------------+| 비밀번호 |+----------------------------------+| a5391e96f8d48a62e8c85381df108e98 || ea7a32d2dc5bb793af262dcb6ea1a54d |+----------------------------------+2행 세트(0.00초)

다음은 MySQL에서 저장된 md5 문자열을 10진수 값으로 변환하는 쿼리입니다 -

mysql> select cast(conv(substr(Password, 1, 16), 16, 10) as decimal(65))*18446744073709551616+ cast(conv(substr(Password, 17, 16), 16, 10) as decimal(65)) AS DecimalValuefrom DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+---------------------------------------------------------+| DecimalValue |+-----------------------------------------+| 219619200658969319114298942978912194200 || 311673842057003455136843080376797734221 |+--------------------------------------------------+2행 세트( 0.00초)