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

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

 更新時(shí)間:2017年12月09日 13:47:11   作者:根號(hào)五  
這篇文章主要介紹了PHP使用自定義key實(shí)現(xiàn)對(duì)數(shù)據(jù)加密解密的方法,涉及php針對(duì)字符串的轉(zhuǎn)換、截取等操作實(shí)現(xiàn)加密解密功能的相關(guān)技巧,需要的朋友可以參考下

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

客戶端和服務(wù)端通信時(shí),有個(gè)場(chǎng)景很常見,通過一個(gè)id作為url參數(shù)來回傳遞。假設(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);
}

值得一提的是:

如果說應(yīng)用到url中id的這個(gè)場(chǎng)景,那么加密過后,是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ì)有所幫助。

相關(guān)文章

最新評(píng)論