主頁(yè) > 知識(shí)庫(kù) > PHP使用自定義key實(shí)現(xiàn)對(duì)數(shù)據(jù)加密解密的方法

PHP使用自定義key實(shí)現(xiàn)對(duì)數(shù)據(jù)加密解密的方法

熱門標(biāo)簽:百度地圖標(biāo)注類型是酒店 隨州銷售電銷機(jī)器人公司 周口網(wǎng)絡(luò)回?fù)芡夂粝到y(tǒng) 網(wǎng)絡(luò)電話400申請(qǐng) 福建高頻外呼防封系統(tǒng)哪家好 全國(guó)各省地圖標(biāo)注點(diǎn) 外呼系統(tǒng)人工客服 商丘外呼系統(tǒng)好處 400電話申請(qǐng)辦理

本文實(shí)例講述了PHP使用自定義key實(shí)現(xiàn)對(duì)數(shù)據(jù)加密解密的方法。分享給大家供大家參考,具體如下:

客戶端和服務(wù)端通信時(shí),有個(gè)場(chǎng)景很常見,通過(guò)一個(gè)id作為url參數(shù)來(lái)回傳遞。假設(shè)現(xiàn)在業(yè)務(wù)上只有這個(gè)id標(biāo)識(shí),那么需要稍微安全一點(diǎn)的通信,對(duì)這個(gè)id進(jìn)行加密傳輸,到服務(wù)端再進(jìn)行解密。這里需要一個(gè)服務(wù)端進(jìn)行保密的key,利用這個(gè)key進(jìn)行加密和解密。

加解密的方法如下:$str是需要加解密的字符串,$key是自己定義的一個(gè)key

// 加密
function encryptStr($str, $key){
  $block = mcrypt_get_block_size('des', 'ecb');
  $pad = $block - (strlen($str) % $block);
  $str .= str_repeat(chr($pad), $pad);
  $enc_str = mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
  return base64_encode($enc_str);
}
// 解密
function decryptStr($str, $key){
  $str = base64_decode($str);
  $str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
  $block = mcrypt_get_block_size('des', 'ecb');
  $pad = ord($str[($len = strlen($str)) - 1]);
  return substr($str, 0, strlen($str) - $pad);
}

值得一提的是:

如果說(shuō)應(yīng)用到url中id的這個(gè)場(chǎng)景,那么加密過(guò)后,是base64的編碼,建議再urlencode()下,去除+號(hào)的影響。

PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:

文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password

在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php加密方法總結(jié)》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》及《php正則表達(dá)式用法總結(jié)》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • 六種php加密解密方法實(shí)例講解
  • PHP rsa加密解密算法原理解析
  • 基于PHP實(shí)現(xiàn)解密或加密Cloudflar郵箱保護(hù)
  • php中加密解密DES類的簡(jiǎn)單使用方法示例
  • php的RSA加密解密算法原理與用法分析
  • RSA實(shí)現(xiàn)JS前端加密與PHP后端解密功能示例
  • Js通過(guò)AES加密后PHP用Openssl解密的方法
  • PHP實(shí)現(xiàn)的AES雙向加密解密功能示例【128位】
  • PHP實(shí)現(xiàn)的XXTEA加密解密算法示例
  • PHP實(shí)現(xiàn)基于3DES算法加密解密字符串示例
  • PHP實(shí)現(xiàn)的AES加密、解密封裝類與用法示例
  • PHP實(shí)現(xiàn)的DES加密解密類定義與用法示例
  • 基于PHP RSA密文過(guò)長(zhǎng)加密解密 越過(guò)1024的解決方法
  • PHP的RSA加密解密方法以及開發(fā)接口使用
  • php實(shí)現(xiàn)的三個(gè)常用加密解密功能函數(shù)示例
  • PHP代碼加密和擴(kuò)展解密實(shí)戰(zhàn)

標(biāo)簽:海南 迪慶 南寧 佛山 十堰 定西 樂山 六安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP使用自定義key實(shí)現(xiàn)對(duì)數(shù)據(jù)加密解密的方法》,本文關(guān)鍵詞  PHP,使用,自定義,key,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP使用自定義key實(shí)現(xiàn)對(duì)數(shù)據(jù)加密解密的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于PHP使用自定義key實(shí)現(xiàn)對(duì)數(shù)據(jù)加密解密的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章