亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL 加密/壓縮函數(shù)

 更新時(shí)間:2009年12月18日 23:38:51   作者:  
在MySQL中,加密和壓縮函數(shù)返回二進(jìn)制串。對(duì)其中的許多函數(shù)而言,結(jié)果可能包含任意的字節(jié)值,如果想存儲(chǔ)這些結(jié)果,你應(yīng)該使用一個(gè)具有varbinary或者blob二進(jìn)制串?dāng)?shù)據(jù)類(lèi)型的列,這可避免潛在的刪除尾部空白問(wèn)題或者字符集轉(zhuǎn)換問(wèn)題。

這些問(wèn)題可能導(dǎo)致數(shù)據(jù)值的改變。一般而言,上述問(wèn)題可能在你使用非二進(jìn)制串?dāng)?shù)據(jù)類(lèi)型(如char,varchar,text等數(shù)據(jù)類(lèi)型)的情況下發(fā)生。

  • AES_ENCRYPT()和AES_DECRYPT()

AES_ENCRYPT()和AES_DECRYPT()可以加密/解密使用官方AES算法的數(shù)據(jù)。該算法使用128位密鑰來(lái)編碼,但用戶可以將其擴(kuò)展到256位。MySQL選用128位密鑰,因?yàn)檫@樣算法實(shí)現(xiàn)更快,而且對(duì)大多數(shù)用戶而言它也足夠安全了。


AES_ENCRYPT(str,key_str)函數(shù)加密一個(gè)字符串并返回一個(gè)二進(jìn)制串。AES_DECRYPT(crypt_str, key_str) 函數(shù)可以解密使用官方AES(Advanced Encryption Standard)算法加密的數(shù)據(jù)并返回原有字符串,輸入變量可以是任意長(zhǎng)度。如果輸入變量為NULL,那么該函數(shù)返回結(jié)果也為NULL。


因?yàn)锳ES是一個(gè)塊級(jí)算法,需要使用補(bǔ)白來(lái)編碼非偶數(shù)長(zhǎng)度的字符串。

  • ENCODE()和DECODE()

ENCODE(str, pass_str):該函數(shù)使用pass_str作為密碼來(lái)加密字符串str,其加密的結(jié)果可以通過(guò)DECODE()函數(shù)來(lái)解密。該函數(shù)返回的結(jié)果是一個(gè)同str等長(zhǎng)。 DECODE(crypt_str, pass_str):該函數(shù)使用pass_str作為密碼來(lái)解密使用ENCODE()加密后的字符串crypt_str。

  • DES_ENCRYPT()和DES_ENCRYPT()

DES_ENCRYPT(str[, {key_num|key_str}]):該函數(shù)使用三重DES算法連同給定的密鑰來(lái)加密加密字符串。
DES_DECRYPT(crypt_str[, key_str]):該函數(shù)解密一個(gè)通過(guò)DES_ENCRYPT()加密的字符串,如果出現(xiàn)錯(cuò)誤,該函數(shù)返回NULL。

  • COMPRESS()和UNCOMPRESS()

COMPRESS(string_to_compress):該函數(shù)壓縮一個(gè)字符串并且返回一個(gè)二進(jìn)制串。該函數(shù)需要MySQL已連同一個(gè)壓縮庫(kù)一塊編譯,比如zlib,否則該函數(shù)的返回值總為NULL。壓縮后的字符串可以通過(guò) UNCOMPRESS()函數(shù)來(lái)解壓縮。UNCOMPRESS(string_to_uncompress):該函數(shù)解壓縮一個(gè)通過(guò)COMPRESS() 函數(shù)壓縮的字符串。如果變量不是一個(gè)壓縮值,則結(jié)果返回為NULL。

  • PASSWORD()

PASSWORD(str):該函數(shù)用來(lái)加密存儲(chǔ)在user表中 password列的MySQL密碼。PASSWORD()函數(shù)由MySQL服務(wù)器中的認(rèn)證系統(tǒng)使用,用戶不應(yīng)該在自己的應(yīng)用中使用該函數(shù)。如果需要使用加密函數(shù),可以考慮使用MD5()或者SHA1()來(lái)代替。

其加密結(jié)果示例如下:


在MySQL的系統(tǒng)數(shù)據(jù)庫(kù)mysql的user表中,有一個(gè)名為Password的列,其中保存由password函數(shù)加密后的user的密碼數(shù)據(jù)。如下所示:


  • ENCRYPT()

ENCRYPT(str[, salt]):該函數(shù)通過(guò)使用Unix crypt()系統(tǒng)調(diào)用來(lái)加密str,并返回一個(gè)二進(jìn)制串。其中,salt變量應(yīng)該是一個(gè)包含多于兩個(gè)字符的字符串。如果salt沒(méi)有給定,則使用一個(gè)隨機(jī)值。如果crypt()系統(tǒng)調(diào)用在用戶的操作系統(tǒng)上不可用(Windows操作系統(tǒng)便如此),該函數(shù)返回為NULL。

  • MD5()

MD5(str):該函數(shù)計(jì)算一個(gè)字符串的128位MD5校驗(yàn)和,返回的結(jié)果是由32個(gè)十六進(jìn)制數(shù)字組成的二進(jìn)制串。如果變量為NULL,則返回為NULL。

其加密結(jié)果示例如下:

  • SHA1()/SHA():

SHA1(str)/SHA(str)函數(shù)計(jì)算字符串str的160位SHA-1校驗(yàn)和。返回值是一個(gè)由40個(gè)十六進(jìn)制數(shù)字組成的二進(jìn)制串。如果變量為NULL,則返回NULL。

其加密結(jié)果示例如下:

相關(guān)文章

  • MySQL錯(cuò)誤ERROR 1615 解決方法

    MySQL錯(cuò)誤ERROR 1615 解決方法

    這篇文章主要介紹了MySQL錯(cuò)誤ERROR 1615 解決方法,這個(gè)問(wèn)題是由于Mysql配置不當(dāng)造成的,需要的朋友可以參考下
    2015-01-01
  • MySQL表鎖、行鎖、排它鎖及共享鎖的使用詳解

    MySQL表鎖、行鎖、排它鎖及共享鎖的使用詳解

    隨著應(yīng)用對(duì)事務(wù)完整性和并發(fā)性要求的不斷提高,MySQL才開(kāi)始開(kāi)發(fā)基于事務(wù)的存儲(chǔ)引擎,下面這篇文章主要給大家介紹了關(guān)于MySQL表鎖、行鎖、排它鎖及共享鎖使用的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • MySQL中使用replace、regexp進(jìn)行正則表達(dá)式替換的用法分析

    MySQL中使用replace、regexp進(jìn)行正則表達(dá)式替換的用法分析

    這篇文章主要介紹了MySQL中使用replace、regexp進(jìn)行正則表達(dá)式替換的用法,結(jié)合具體實(shí)例形式分析了replace、regexp正則替換的使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-03-03
  • MySQL千萬(wàn)數(shù)據(jù)量深分頁(yè)優(yōu)化流程(拒絕線上故障)

    MySQL千萬(wàn)數(shù)據(jù)量深分頁(yè)優(yōu)化流程(拒絕線上故障)

    這篇文章主要為大家介紹了MySQL千萬(wàn)數(shù)據(jù)量深分頁(yè)優(yōu)化拒絕線上故障,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • MySql數(shù)據(jù)庫(kù)中的子查詢與高級(jí)應(yīng)用淺析

    MySql數(shù)據(jù)庫(kù)中的子查詢與高級(jí)應(yīng)用淺析

    這篇文章主要給大家介紹了關(guān)于MySql數(shù)據(jù)庫(kù)中子查詢與高級(jí)應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Mysql中復(fù)制詳細(xì)解析

    Mysql中復(fù)制詳細(xì)解析

    這篇文章主要介紹了Mysql中復(fù)制詳細(xì)解析,從基本概念、用途、實(shí)現(xiàn)方法以及集中模式進(jìn)行了介紹,然后分享了具體實(shí)現(xiàn)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • MySQL授予用戶權(quán)限命令詳解

    MySQL授予用戶權(quán)限命令詳解

    這篇文章主要給大家介紹了關(guān)于MySQL授予用戶權(quán)限命令的相關(guān)資料,授權(quán)就是為某個(gè)用戶賦予某些權(quán)限,例如可以為新建的用戶賦予查詢所有數(shù)據(jù)庫(kù)和表的權(quán)限,需要的朋友可以參考下
    2023-11-11
  • SQL?Server攜程核心系統(tǒng)無(wú)感遷移到MySQL實(shí)戰(zhàn)

    SQL?Server攜程核心系統(tǒng)無(wú)感遷移到MySQL實(shí)戰(zhàn)

    這篇文章主要介紹了SQL?Server攜程核心系統(tǒng)無(wú)感遷移到MySQL實(shí)戰(zhàn),文章通過(guò)基于數(shù)據(jù)庫(kù)部署架構(gòu)鏡像構(gòu)建了訂單緩存統(tǒng)一管理熱點(diǎn)數(shù)據(jù),解決各端差異,具體詳情需要的小伙伴可以參考下面文章詳細(xì)內(nèi)容
    2022-05-05
  • SQL實(shí)現(xiàn)時(shí)間序列錯(cuò)位還原案列

    SQL實(shí)現(xiàn)時(shí)間序列錯(cuò)位還原案列

    這篇文章小編主要向大家介紹的是時(shí)間序列錯(cuò)位還原之SQL實(shí)現(xiàn)案例詳解的相關(guān)資料,需要的小伙伴可以參考下面文章的具體內(nèi)容
    2021-09-09
  • MySQL中UPDATE語(yǔ)句使用的實(shí)例教程

    MySQL中UPDATE語(yǔ)句使用的實(shí)例教程

    這篇文章主要介紹了MySQL中UPDATE語(yǔ)句使用的實(shí)例教程,包括UPDATE的使用中所容易引起的性能問(wèn)題的分析,需要的朋友可以參考下
    2015-11-11

最新評(píng)論