首页 > 语言 > PHP > 正文

PHP使用自定义key实现对数据加密解密的方法

2024-05-05 00:01:22
字体:
来源:转载
供稿:网友

本文实例讲述了PHP使用自定义key实现对数据加密解密的方法。分享给大家供大家参考,具体如下:

客户端和服务端通信时,有个场景很常见,通过一个id作为url参数来回传递。假设现在业务上只有这个id标识,那么需要稍微安全一点的通信,对这个id进行加密传输,到服务端再进行解密。这里需要一个服务端进行保密的key,利用这个key进行加密和解密。

加解密的方法如下:$str是需要加解密的字符串,$key是自己定义的一个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);}

值得一提的是:

如果说应用到url中id的这个场景,那么加密过后,是base64的编码,建议再urlencode()下,去除+号的影响。

 

希望本文所述对大家PHP程序设计有所帮助。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选