Computer >> Máy Tính >  >> Lập trình >> MySQL

Chuyển đổi chuỗi MD5 được lưu trữ thành giá trị thập phân trong MySQL?

Bạn có thể sử dụng hàm chuyển đổi () cùng với hàm ép kiểu () để truyền từ hệ thập lục phân sang giá trị thập phân.

Lưu ý - MD5 ở dạng thập lục phân

Đầu tiên chúng ta hãy tạo một bảng -

 mysql> tạo bảng DemoTable (Văn bản mật khẩu); Truy vấn OK, 0 hàng bị ảnh hưởng (0,60 giây) 

Chèn một số bản ghi vào bảng bằng lệnh chèn -

 mysql> insert vào DemoTable giá trị ("a5391e96f8d48a62e8c85381df108e98"); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây) mysql> chèn vào giá trị DemoTable ("ea7a32d2dc5bb793af262 pre OKcb6ea1a54d"); Truy vấn> 

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

 mysql> select * từ DemoTable; 

Điều này sẽ tạo ra kết quả sau -

 + ---------------------------------- + | Mật khẩu | + ---------------------------------- + | a5391e96f8d48a62e8c85381df108e98 || ea7a32d2dc5bb793af262dcb6ea1a54d | + ---------------------------------- + 2 hàng trong bộ (0,00 giây) 

Sau đây là truy vấn để chuyển đổi một chuỗi md5 được lưu trữ thành giá trị thập phân trong MySQL -

 mysql> chọn ép kiểu (chuyển đổi (substr (Mật khẩu, 1, 16), 16, 10) dưới dạng số thập phân (65)) * 18446744073709551616+ truyền (chuyển đổi (substr (Mật khẩu, 17, 16), 16, 10) dưới dạng decimal (65)) AS DecimalValuefrom DemoTable; 

Điều này sẽ tạo ra kết quả sau -

 + ----------------------------------------- + | DecimalValue | + ----------------------------------------- + | 219619200658969319114298942978912194200 || 311673842057003455136843080376797734221 | + ----------------------------------------- + 2 hàng trong bộ ( 0,00 giây)