當前位置:首頁 » 密碼管理 » mysql加密函數

mysql加密函數

發布時間: 2022-05-17 08:39:19

資料庫常用函數

1、系統信息函數

系統信息函數用來查詢Mysql資料庫的系統信息。

函數代碼:

SELECT VERSION()

->5.0.67-community-nt

CONNECTION_ID() 返回伺服器的連接數

DATABASE()、SCHEMA 返回當前資料庫名

USER()、SYSTEM_USER()返回當前用戶

2、日期時間函數

MySQL的日期和時間函數主要用於處理日期時間。

函數代碼:

CURDATE(),CURRENT_DATE() curdate() 返回當前日期

SELECT CURDATE()

->2014-12-17

CURTIME(),CURRENT_TIME curtime()
返回當前時間

SELECT CURTIME()
->15:59:02

3、字元串函數

函數代碼:

CHAR_LENGTH(s) char_length()返回字元串s的字元數

SELECT CHAR_LENGTH('你好123') -- 5

CONCAT(s1,s2,...) concat(s1,s2...)

將字元串s1,s2等多個字元串合並為一個字元串

4、加密函數

加密函數是MySQL用來對數據進行加密的函數。

函數代碼:

PASSWORD(str)

該函數可以對字元串str進行加密,一般情況下,PASSWORD(str)用於給用戶的密碼加密。

SELECT PASSWORD('123')

->*

5、數學函數

數學函數主要用於處理數字,包括整型、浮點數等。

函數代碼:

ABS(x) abs(x)返回x的絕對值

SELECT ABS(-1) -- 返回1

CEIL(x),CEILING(x) cell(x),celling(x)

返回大於或等於x的最小整數

SELECT CEIL(1.5) -- 返回2

Ⅱ mysql 資料庫的 登錄密碼的 加密方式是什麼

MySQL資料庫的認證密碼有兩種方式,
MySQL
4.1版本之前是MySQL323加密,MySQL
4.1和之後的版本都是MySQLSHA1加密,
MySQL資料庫中自帶Old_Password(str)和Password(str)函數,它們均可以在MySQL資料庫里進行查詢,前者是MySQL323加密,後者是MySQLSHA1方式加密。
(1)以MySQL323方式加密
select old_password('111111');
(2)以MySQLSHA1方式加密

select
password('111111');

MYSQL323加密中生成的是16位字元串,而在MySQLSHA1中生存的是41位字元串,其中*是不加入實際的密碼運算中,通過觀察在很多用戶中都攜帶了"*",在實際破解過程中去掉"*",也就是說MySQLSHA1加密的密碼的實際位數是40位。

Ⅲ 如何利用MySQL資料庫自帶加密函數進行加密

保護些數據免受黑客或者窺探者獲取令關注重要問題您既能讓未經授權員使用或者破壞應用程序同要保證您競爭優勢幸運MySQL帶設計用提供種類型安全加密函數本文概述其些函數並說明何使用及能夠提供同級別安全雙向加密讓我簡單加密始:雙向加密段數據通密鑰加密能夠由知道密鑰解密mysql兩函數支持種類型加密別叫做ENCODE()DECODE()面簡單實例:mysql>
INSERT
INTO
users
(username,
password)
VALUES
('joe',
ENCODE('guessme',
'abracadabra'));
Query
OK,
1
row
affected
(0.14
sec)其Joe密碼guessme通密鑰abracadabra加密要注意加密完結二進制字元串所示:mysql>
SELECT
*
FROM
users
WHERE
username='joe';
+----------+----------+
|
username
|
password
|
+----------+----------+
|
joe
|
03?i?!?
|
+----------+----------+
1
row
in
set
(0.02
sec)abracadabra密鑰於恢復原始字元串至關重要密鑰必須傳遞給DECODE()函數獲原始、未加密密碼面使用:mysql>
SELECT
DECODE(password,
'abracadabra')
FROM
users
WHERE
username='joe';+---------------------------------+
|
DECODE(password,
'abracadabra')
|
+---------------------------------+
|
guessme
|
$query
=
"SELECT
COUNT(*)
FROM
users
WHERE
username='$inputUser'
AND
DECODE(password,
'abracadabra')
=
'$inputPass'";?>提示:雖ENCODE()DECODE()兩函數能夠滿足數要求候您希望使用強度更高加密手段

Ⅳ mysql中建表怎麼給密碼加密,用MD5

CREATE
TABLE
`tablename`
(
`id`
int(4)
NOT
NULL
AUTO_INCREMENT,
`name`
varchar(30)
NOT
NULL
DEFAULT
'',
`password`
varchar(32)
NOT
NULL
DEFAULT
'',
PRIMARY
KEY
(`id`)
)
ENGINE=MyISAM
DEFAULT
CHARSET=gb2312;
password
在輸入後用PHP
MD5
()函數加密即可

Ⅳ mysql更改密碼,密碼怎麼不是加密的

方法一:最簡單的方法,也是安裝完mysql後,系統提示的方法。使用mysqladmin來完成。shell> mysqladmin -u root password "newpwd"
shell> mysqladmin -u root -h host_name password "newpwd"password後面的雙引號不是必須的,不過如果密碼包含空格或者一些特殊的符號,需要用引號。方法二:利用mysql裡面的SET PASSWORD命令來完成,注意必須使用PASSWORD()函數來加密設置的這個newpwd,否則直接='newpwd'不會生效。不過如果使用方法一用mysqladmin password設置密碼或者用GRANT來設置,就不用使用PASSWORD()函數,因為它們已經自動調用了該函數。shell> mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');
方法三:直接通過UPDATE user表來設置密碼shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
-> WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
如果忘記mysql的root密碼可以採取下面的步驟重新設置
1。kill掉所有mysql的進程
2。使用--skip-grant-tables的參數啟動mysql
shell> mysqld_safe --skip-grant-tables &
3。設置新的密碼,同樣兩種方式可以選擇
方法一
shell> mysqladmin -u root flush-privileges password "newpwd"
方法二
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;
4。停止mysql server,用正常的模式啟動
5。OK,可以使用新設置的密碼了

Ⅵ 如何在mysql資料庫中加入加密演算法,使得資料庫能夠對資料庫中的數據進行加密。

沒有用過mysql加密,但一般都是用服務端語言把數據加密後存入資料庫中,比如,在PHP里用md5函數把用戶的密碼加密之後存入數據中,一般都 是這么解決的。

Ⅶ mysql資料庫裡面的數據中的密碼加密了,怎麼解密

mysql -uroot -p 輸入密碼回車後,出現如下圖錯誤。這時候需要我們破解密碼。
service mysqld stop //先停止mysql服務。

然後打開mysql配置文件/etc/my.cnf.在【mysqld】下面添加一行代碼:skip-grant-tables。這行代碼意思就是跳過跳過授權表,即是可以跳過密碼驗證直接進入資料庫。

service mysqld restart //重啟mysql資料庫。假如不重啟的話,不會生效。
mysql -uroot -p //此時直接回車,既可以進入資料庫。
出現mysql>就說明你已經進入到mysql資料庫里了。

進資料庫後,
use mysql //選擇mysql這個庫,因為mysql的root密碼存放在這個資料庫里。
show tables //查看下mysql庫里有哪些表,我們需要操作的用戶名密碼都在user表裡。
desc user //查看下user表有哪些欄位

更改root密碼。
update user set password=password('123456') where user="root"; //用戶選root,可以隨便更改成任意密碼,我這里設置的123456,password()是mysql密碼加密的一個函數。
flush privileges; //刷新下密碼,使更改的生效。
exit //退出資料庫。

退出資料庫,重新登錄
mysql -uroot -p //回車輸入剛剛更改的密碼,就能進去了。
然後再次進入配置文件vi /etc/my.cnf 把skip-grant-tables去掉。

Ⅷ 關於Mysql encode加密函數的問題

需要保存加密結果的欄位為BLOB類型;
如下:
CREATE TABLE `tet` (
`title` blob,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8

INSERT INTO tet(title) VALUES(ENCODE('數對密碼欄位進行','abc'));
SELECT * FROM tet;
SELECT DECODE(title,'abc') from tet;

本人在linux上運行結果正常。僅供參考

Ⅸ mysql decode 函數嗎

在ORACLE資料庫里decode函數實現的功能,於MySQL資料庫里可以使用case when函數來替代;
MySQL資料庫的decode函數是解密函數,它是加密函數encode的反函數,與ORACLE資料庫里decode函數實現的功能完全不同。

ORACLE資料庫里decode函數相當於MySQL資料庫里的case when函數,只是前者看起來更加緊湊。

Ⅹ mysql資料庫密碼加密方式有幾種

MySQL資料庫的認證密碼有兩種方式,

MySQL 4.1版本之前是MySQL323加密,MySQL 4.1和之後的版本都是MySQLSHA1加密,

MySQL資料庫中自帶Old_Password(str)和Password(str)函數,它們均可以在MySQL資料庫里進行查詢,前者是MySQL323加密,後者是MySQLSHA1方式加密。

(1)以MySQL323方式加密

selectold_password('111111');

(2)以MySQLSHA1方式加密

select password('111111');

MYSQL323加密中生成的是16位字元串,而在MySQLSHA1中生存的是41位字元串,其中*是不加入實際的密碼運算中,通過觀察在很多用戶中都攜帶了"*",在實際破解過程中去掉"*",也就是說MySQLSHA1加密的密碼的實際位數是40位。

熱點內容
醫院新冠肺炎疫情防控演練腳本 發布:2024-04-27 04:04:45 瀏覽:652
天津智慧網關伺服器雲伺服器 發布:2024-04-27 03:56:51 瀏覽:422
移門製作下料尺寸演算法 發布:2024-04-27 03:15:02 瀏覽:641
c語言5常量 發布:2024-04-27 02:38:49 瀏覽:991
源碼怎麼搭建 發布:2024-04-27 02:33:44 瀏覽:97
java獲取參數 發布:2024-04-27 02:22:21 瀏覽:501
unixlinuxwindows 發布:2024-04-27 02:10:55 瀏覽:445
nginx禁止ip訪問網站 發布:2024-04-27 02:05:43 瀏覽:845
webrtc伺服器搭建哪家價格低 發布:2024-04-27 01:30:08 瀏覽:141
oracle資料庫無法啟動 發布:2024-04-27 01:29:20 瀏覽:613