欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

MySQL如何實(shí)現(xiàn)密碼加密認(rèn)證的簡(jiǎn)單腳本

小編給大家分享一下MySQL如何實(shí)現(xiàn)密碼加密認(rèn)證的簡(jiǎn)單腳本,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元瓜州做網(wǎng)站,已為上家服務(wù),為瓜州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

MySQL登錄的時(shí)候,如果明文指定了密碼,在登錄成功之后就會(huì)拋出下面的警告。

[root@dev01 /]# mysql -uroot -pxxxx

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2837

不要小看這個(gè)錯(cuò)誤,有些業(yè)務(wù)驗(yàn)證是不允許出現(xiàn)Warning的,所以可能有些大廠還需要自己定制一下這個(gè)錯(cuò)誤的邏輯。

當(dāng)然如果不需要知道密碼,能不能換個(gè)方式來(lái)做呢,其實(shí)也行,在5.6中開始有了loginpath,和Oracle中的錢包的功能差不多,其實(shí)就是一種認(rèn)證,做了授權(quán),你不需要知道這些信息,loginpath就是一道橋梁為你做了認(rèn)證。

如果你是5.5的版本,沒(méi)了loginpath,有沒(méi)有可行的方案來(lái)滿足需求呢。

有的同學(xué)可能這個(gè)時(shí)候才開始問(wèn),需求是什么?

我們?cè)O(shè)想一下,命令行的方式中,輸入明文密碼,那還要密碼干嘛,干脆我輸入密碼的時(shí)候你別看,但是history命令里面有啊。

所以這也算是一個(gè)風(fēng)險(xiǎn)點(diǎn)的入口,如果因?yàn)橐恍┮馔獾那闆r登錄,那么這種情況就很尷尬了。這是需求一。

還有一種場(chǎng)景,如果我們有大量的MySQL環(huán)境,每個(gè)環(huán)境的DBA賬戶密碼是統(tǒng)一的,但是密碼很復(fù)雜。我們不能輸入明文,那么就輸入密碼格式,那就意味著交互和手動(dòng)輸入,手動(dòng)輸入簡(jiǎn)直了,你會(huì)發(fā)現(xiàn)這種操作真是原始,高級(jí)一點(diǎn),用下keypass或者keepass等,這個(gè)是依賴于本地的環(huán)境配置。所以需求二的特點(diǎn)就是手工維護(hù)密碼啰嗦,手工輸入密碼太原始。

那我們寫腳本,但是腳本里面的密碼還是可見(jiàn)的,調(diào)用的明文密碼問(wèn)題解決了,但是內(nèi)容中的密碼還是可讀的。

所以這種情況下,一個(gè)很自然的方法就是加密。

其中一種是對(duì)密碼加密,比如我們得到一個(gè)密碼加密后的串,在需要調(diào)用的時(shí)候做一下解密,得到真實(shí)的密碼。這個(gè)過(guò)程是在腳本里的邏輯來(lái)實(shí)現(xiàn),所以我們得到明文密碼的概率要低一些。

另外一類就是對(duì)文件加密,比如對(duì)整個(gè)文件加密,加密之后文件就沒(méi)法讀了。所以加密后的密碼又被加密了。對(duì)文件加密有shell的方式還有python等語(yǔ)言會(huì)

如果要調(diào)用腳本的時(shí)候,其實(shí)就是先解密文件,然后調(diào)用解密邏輯,得到真正的密碼,然后開啟訪問(wèn)的請(qǐng)求。

比如我得到了一個(gè)加密后的密碼串。調(diào)用的解密邏輯是decrypt_passwd,當(dāng)然這個(gè)是可讀還可逆的,我們其實(shí)可以再加入一些復(fù)雜的因子來(lái)干擾。

腳本的初步內(nèi)容如下:

sec_password='RHB6WUF1d1c5TTEzabadfo='

dec_passwd=''

sql_block=''

function decrypt_passwd

{

tmp_passwd=$1

dec_passwd=`echo $tmp_passwd|base64 -d`

}

decrypt_passwd $sec_password

instance_ip=$1

instance_port=$2

port=$1

if [ ! -n "$port" ]; then

echo '############################################'

echo 'Please input correct MySQL Port and try again.'

echo '############################################'

ps -ef|grep mysqld|grep -v grep |grep -v mysqld_safe

exit

fi

/usr/local/mysql/bin/mysql -udba_admin -p$dec_passwd -h227.0.0.1 -P$1

這樣一個(gè)簡(jiǎn)單的文件,使用gzexe來(lái)加密即可,就是我們初步預(yù)期的效果了。

這個(gè)文件就類似一個(gè)二進(jìn)制文件,我們拷貝到任何服務(wù)器端,指定入口,就可以方便的訪問(wèn)了。

以上是“MySQL如何實(shí)現(xiàn)密碼加密認(rèn)證的簡(jiǎn)單腳本”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁(yè)標(biāo)題:MySQL如何實(shí)現(xiàn)密碼加密認(rèn)證的簡(jiǎn)單腳本
瀏覽地址:http://www.chinadenli.net/article44/iijeee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管域名注冊(cè)網(wǎng)站制作營(yíng)銷型網(wǎng)站建設(shè)定制開發(fā)手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司