MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

保存されたMD5文字列をMySQLで10進値に変換しますか?


conv()関数をcast()と一緒に使用して、16進数から10進数にキャストできます。

−MD5は16進数です

まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   Password text
);
Query OK, 0 rows affected (0.60 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values("a5391e96f8d48a62e8c85381df108e98");
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values("ea7a32d2dc5bb793af262dcb6ea1a54d");
Query OK, 1 row affected (0.18 sec)
>

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+----------------------------------+
| Password                         |
+----------------------------------+
| a5391e96f8d48a62e8c85381df108e98 |
| ea7a32d2dc5bb793af262dcb6ea1a54d |
+----------------------------------+
2 rows in set (0.00 sec)

以下は、保存されているmd5文字列をMySQLで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 DecimalValue
from DemoTable;

これにより、次の出力が生成されます-

+-----------------------------------------+
| DecimalValue                            |
+-----------------------------------------+
| 219619200658969319114298942978912194200 |
| 311673842057003455136843080376797734221 |
+-----------------------------------------+
2 rows in set (0.00 sec)

  1. C++で16進値の文字列をASCII値の文字列に変換します

    このチュートリアルでは、16進値の文字列をASCII値の文字列に変換するプログラムについて説明します。 このために、いくつかの16進値を持つ文字列が提供されます。私たちのタスクは、その16進値を取得し、それを同等のASCII値に変換することです。 例 #include <bits/stdc++.h> using namespace std; string convert_ASCII(string hex){    string ascii = "";    for (size_t i = 0; i < hex.le

  2. Int32値を10進数に変換するC#プログラム

    Int32値を10進数に変換するには、Convert.ToDecimal()メソッドを使用します。 Int32は、32ビットの符号付き整数を表します。 次がInt32の値だとしましょう。 int val = 2923; 次に、10進数に変換します。 decimal decVal = Convert.ToDecimal(val); 完全な例を見てみましょう。 例 using System; public class Demo {    public static void Main() {       int val = 2923; &n