mysql 密碼大小寫_MySQL數據庫加密和解密~認證登陸密碼(mysql.user)和MySQL不區分大小寫...

MySQL數據庫認證密碼有兩種方式:

1:MySQL 4.1版本之前是MySQL323加密

2:MySQL 4.1和之后的版本都是MySQLSHA1加密

還有函數:AES_ENCRYPT()加密函數和AES_DECRYPT()解密函數和MD5()加密。

MySQL數據庫中自帶old_password(str)和password(str)函數,前者是MySQL323加密,后者是MySQLSHA1方式加密;

MYSQL323加密中生成的是16位字符串,而在MySQLSHA1中生存的是41位字符串,其中*是不加入實際的密碼運算中,就是說MySQLSHA1加密的密碼的實際位數是40位;

MYSQL323對應于old_password(str)函數

MYSQLSHA1對應于password(str)函數

注:AES_ENCRYPT()加密函數和AES_DECRYPT()解密函數都需要一個“key”來協助加密。

eg:select aes_encrypt('kaka123','key');

select aes_decrypt(aes_encrypt('kaka123','key'),'key');

1.MYSQL323對應于old_password(str)函數加密:

mysql> select old_password('kaka123');

+-------------------------+

| old_password('kaka123') |

+-------------------------+

| 2ee53a20184c9267 |

+-------------------------+

1 row in set, 1 warning (0.00 sec)

2.MYSQLSHA1對應于password(str)函數加密:

mysql> select password('kaka123');

+-------------------------------------------+

| password('kaka123') |

+-------------------------------------------+

| *90B3D884FB6092549F244125549B77C000A0F9C6 |

+-------------------------------------------+

1 row in set (0.00 sec)

3.MYSQL MD5()加密:

mysql> select md5('kaka123');

+----------------------------------+

| md5('kaka123') |

+----------------------------------+

| 5d052f1e32af4e4ac2544a5fc2a9b992 |

+----------------------------------+

1 row in set (0.00 sec)

4.AES_ENCRYPT()加密函數

mysql> select aes_encrypt('kaka123','key');

+------------------------------+

| aes_encrypt('kaka123','key') |

+------------------------------+

| D#jA

|

+------------------------------+

1 row in set (0.00 sec)

5.AES_DECRYPT()解密函數

mysql> select aes_decrypt(aes_encrypt('kaka123','key'),'key');

+-------------------------------------------------+

| aes_decrypt(aes_encrypt('kaka123','key'),'key') |

+-------------------------------------------------+

| kaka123 |

+-------------------------------------------------+

1 row in set (0.00 sec)

4.AES_ENCRYPT()加密函數

mysql> select host,user,password from mysql.user;

+----------------+------+-------------------------------------------+

| host | user | password |

+----------------+------+-------------------------------------------+

| localhost | root | *71ABCA8B06D46066CEF8062A75256E66243D0FC8 |

| tony\_ts\_tian | root | *71ABCA8B06D46066CEF8062A75256E66243D0FC8 |

| 127.0.0.1 | root | *71ABCA8B06D46066CEF8062A75256E66243D0FC8 |

| ::1 | root | *71ABCA8B06D46066CEF8062A75256E66243D0FC8 |

| % | root | *71ABCA8B06D46066CEF8062A75256E66243D0FC8 |

| % | kaka | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

+----------------+------+-------------------------------------------+

6 rows in set (0.00 sec)

mysql> update mysql.user set password=AES_ENCRYPT("kaka123",'key') where host='%' and user='kaka';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> select host,user,password from mysql.user;

+----------------+------+-------------------------------------------+

| host | user | password |

+----------------+------+-------------------------------------------+

| localhost | root | *71ABCA8B06D46066CEF8062A75256E66243D0FC8 |

| tony\_ts\_tian | root | *71ABCA8B06D46066CEF8062A75256E66243D0FC8 |

| 127.0.0.1 | root | *71ABCA8B06D46066CEF8062A75256E66243D0FC8 |

| ::1 | root | *71ABCA8B06D46066CEF8062A75256E66243D0FC8 |

| % | root | *71ABCA8B06D46066CEF8062A75256E66243D0FC8 |

| % | kaka | ?D?#jA?

| ˉLl

+----------------+------+-------------------------------------------+

6 rows in set (0.00 sec)

5.AES_DECRYPT()解密函數

mysql> select host,user,AES_DECRYPT(password,'key') from mysql.user;

+----------------+------+-----------------------------+

| host | user | AES_DECRYPT(password,'key') |

+----------------+------+-----------------------------+

| localhost | root | NULL |

| tony\_ts\_tian | root | NULL |

| 127.0.0.1 | root | NULL |

| ::1 | root | NULL |

| % | root | NULL |

| % | kaka | kaka123 |

+----------------+------+-----------------------------+

6 rows in set (0.00 sec)

mysql不區分大小寫:

修改MySql Server安裝目錄下的 my.ini 或my.conf文件

在mysqld節下加入下面一行

lower_case_table_names=0

(0:大小寫敏感;1:大小寫不敏感)最后重啟一下MySql服務即可。

修改對于新建的表,老表無效

#解決mysql字段不區分大小寫:

CREATE TABLE `user`(

`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT'用戶登錄表主鍵id',

`uname` VARCHAR(35) NOT NULL COMMENT'用戶登錄名',

`upass` VARCHAR(32) NOT NULL COMMENT'用戶登錄密碼',

`ustatus` VARCHAR(2) NOT NULL DEFAULT '0' COMMENT'用戶登錄狀態,0為正常,1為鎖定',

UNIQUE (`uname`),

PRIMARY KEY(`id`)

)ENGINE = INNODB COLLATE=utf8_bin COMMENT='用戶登錄表';

注:COLLATE=utf8_bin

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530885.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530885.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530885.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

三星手機 java_如何在三星手機上安裝Java ME應用程序?

我的手機應該可以運行:JavaTM:MIDP 2.0,基于CLDC 1.1的應用程序.但是,無論我嘗試在其上安裝哪個應用程序,我都會收到錯誤:已下載的JAR無效我已經嘗試在Netbeans上構建Java ME項目,使用指定的MIDP 2.0和CLDC 1.1.這些應用程序很簡單,使用Netbe…

openshift 3 mysql_最新OpenShift免費空間申請與使用教程-1G內存1G空間支持PHP和MysqL

一、OpenShift空間申請使用前必備工具1、OpenShift官網:1、官方網站:https://www.openshift.com/2、OpenShift V3:https://manage.openshift.com/2、Github賬號(或者其他的git倉庫也可以..)。注冊git倉庫是為了方便的實現代碼的同步&#xff…

python 簡單web音頻_Python Twisted web服務器音頻fi

我嘗試用python中的twisted創建一個簡單的web服務器。不過,我無法提供m4a音頻文件。在在當前程序中,當我加載http://localhost:8880/mp3.html時,它可以正常工作。它顯示音頻播放器和mp3播放。此外,程序同時打印“/mp3.html”和/測…

cpython教程_python高性能擴展工具-cython教程1快速入門

Cython不僅僅是一種編程語言。它的起源可以追溯到SAGE數學軟件包,它用于提高數學計算性能,例如涉及矩陣的計算。更一般地說,我傾向于將Cython視為SWIG的替代品,為本機代碼生成非常好的Python綁定。SWIG是最早和最好之一&#xff0…

golang mysql封裝_golang如何封裝路由

封裝方式一、路由寫在 main函數中,數據庫初始連接放在 init() 函數中。、首先看 main.go一個初始化函數,初始化 dbfunc init() {db.Connect()}第二,路由func main() {// Configurerouter : gin.Default()// Set html render optionshtmlRende…

在java繼承機制中 父類中的私有_Java中子類能繼承父類的私有屬性嗎?

前段時間去聽老師講課的時候,老師告訴我子類是可以繼承父類所有的屬性和方法的。當時我是極其疑惑的,因為之前學校考試時這個考點我記得很清楚:子類只能繼承父類的非私有屬性和方法。老師給我的解釋是這樣的——先看下面一段代碼/*** 定義父類…

堆棧關系java_從關鍵字說Java對象、引用、指針、堆棧的關系

前言:上一篇中我們介紹了new關鍵字 點擊打開鏈接,new一個類,實際上就是調用該類的構造函數,返回該類的對象。如a new Animal();返回的對象賦給變量a。我們來分析一下內存分配的步驟,new一個類,實際上就創造…

java socket編程客戶端_Java Socket編程 - 基于Socket實現HTTP下載客戶端

沒有借助任何第三方庫,完全基于JAVA Socket實現一個最小化的HTTP文件下載客戶端。完整的演示如何通過Socket實現下載文件的HTTP請求(request header)發送如何從Socket中接受HTTP響應(Response header, Response body)報文并解析與保存文件內容。如何通過SwingWork實…

java讀c二進制文件_如何使用JAVA讀取C / Matlab創建的二進制文件

小編典典正如我所猜測的那樣,這是一個字節序問題,即您的二進制文件被寫為低字節序的整數(可能是因為您使用的是Intel或類似的CPU)。但是,無論Java代碼運行在哪個CPU上,它都在讀取大端整數。為了顯示該問題,以下代碼將讀…

java 通聯支付接口_allinpay 通聯支付接口實例

【實例簡介】allinpay 支付的實例代碼,這只是部分,需要其它的請聯系我。 幫忙找【實例截圖】【核心代碼】201708081652114811└── unionorder_demo├── java│ └── uniondemo│ ├── WebContent│ │ ├── META-INF│ │ │ └…

java web tcp長連接超時時間_常用java web容器http長連接超時設置

1.http長連接相關知識http長連接對我們來說并不陌生,但長連接并不是永遠不會關閉。對于HTTP長連接需要注意下面幾點:keepalive_timeout指的是web服務器發送完最后一個響應報文后,開始計時,如果在keepalive_timeout指定的時間內還沒…

java相遇問題_行程問題

行程問題 《行程問題》說課設計——現代教育信息技術與數學學科的整合福建省閩侯縣尚干中心小學 林惠貞 郵編:350112 郵箱:zhenzi2277163.com眾所周知,未來的教育,倡導開放式學習,把學習的地點擴展到社會、網絡&…

jbutton 數組創建 java_java-將JButton數組添加到JPanel(按鈕不可見)

我正在嘗試使用Java創建一個簡單的計算器.為此,我創建了一個JButton數組并將其添加到JPanel中.問題:按鈕不可見.我還添加了一個JLabel和一個JButton進行測試,它們可以正確顯示.編碼:package test;import java.awt.BorderLayout;import javax.swing.*;pub…

jwt java 項目實例_JWT(JsonWebToken)+SpringMVC項目demo

【實例簡介】JSON Web Token(JWT)是一個非常輕巧的規范。現在免費給大家分享一個JWT(JsonWebToken)SpringMVC項目的demo!【實例截圖】【核心代碼】jwt-demo└── jwt-demo├── pom.xml├── src│ └── main│ ├── java│ │ └── com│ │ └── hthl…

java寫一個99到0_Java中一個普通的循環為何從10開始到99連續相乘會得到0?

【套裝4本】java編程思想4第4版402.5元包郵(需用券)去購買 >這是一塊非常簡單的Java代碼片段&#xff1a;public class HelloWorld{public static void main(String []args){int product 1;for (int i 10; i < 99; i) {product * i;}System.out.println(product);}}為什…

neo4j java查找_Spring-Boot使用neo4j-java-driver-- 查找兩個節點之間關系的最短路徑

一、Cypher數據create (小北:朋友圈{姓名:"小北", 喜歡的書類:"Poetry"}),(小菲:朋友圈{姓名:"小菲", 喜歡的書類:"Science Fiction"}),(小鵬:朋友圈{姓名:"小鵬", 喜歡的書類:"Music"}),(小穎:朋友圈{姓名:"…

java 返回兩個集合_使用 java stream 獲取兩個集合之間的交集.差集

原始對象List hrProbationMainList new ArrayList();List hrProbationMains probationMainDao.findAll();獲取交集對象stream 轉換成流 (只有變成流才能操作)filter 封裝判斷條件(如果true 則收集到結果中,false則不收集)collect 收集結果返回到指定類型中//交集對象ListhrPro…

java重寫重定向_JavaWeb請求轉發與請求重定向理解

請求轉發使用方法httpServletRequest.getRequestDispatcher("login.jsp").forward(httpServletRequest, servletresponse);此請求過程 完全是一次request對象 完成的。我們可以用 filter 截取用戶的這次請求&#xff0c;然后利用這次請求 訪問其它頁面&#xff0c;當…

autojs調用java識字_autojs實現抽象類的繼承

作者: 牙叔使用情景在java中, 抽象類必須繼承才能使用, 那么在autojs中怎樣實現繼承抽象類呢?java中的實現創建一個抽象類package com.yashu;public abstract class Employee{ private String name; private String address; private int number; public abstract double com…

java wix_使用WIX升級MSI

我正在使用WIX創建一個MSI安裝程序 . 一切都很好&#xff0c;我能夠創建自己的產品并創造一切 .但是&#xff0c;當我想要創建升級時&#xff0c;它無法正常工作 .我使用了以下代碼&#xff0c;其中$(var.ProductUpgradeCode)被定義并用作product元素中的upgrade-code .Minimum…