天涯论坛

 找回密码
 立即注册
搜索
查看: 107|回复: 2

在PHP研发中六种加密的办法,你用的是哪种?

[复制链接]

3056

主题

155

回帖

9923万

积分

论坛元老

Rank: 8Rank: 8

积分
99238923
发表于 2024-7-11 01:04:17 | 显示全部楼层 |阅读模式

php 自带的加密函数

不可逆的加密函数为:md5()、crypt()

md5() 用来计算 MD5 哈稀。语法为:string md5(string str);

crypt() 将字符串用 UNIX 的标准加密 DES 模块加密。这是单向的加密函数,法解密。欲比对字符串,将已加密的字符串的头二个字符放在 salt 的参数中,再比对加密后的字符串。语法为:string crypt(string str, string [salt]);

可逆转的加密为:base64_encode()、urlencode() 相对应的解密函数:base64_decode() 、urldecode()

base64_encode() 将字符串以 MIME BASE64 编码。此编码方式能够让中文字照片能在网络上顺利传输。语法为string base64_encode(string data); 它的解密函数为:string base64_decode(string encoded_data); 将复回原样。

urlencode() 将字符串以 URL 编码。例如空格就会变成加号。语法为:string urlencode(string str);

它的解密函数为:string urldecode(string str); 将复回原样

瞧瞧以下实现的几种案例

第1种加密解密算法

<?php function encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12"); return $decrypted; }else{ $encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key)))); return $encrypted; } } //加密:"z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=" echo encryptDecrypt(password, Helloweba欢迎您,0); //解密:"Helloweba欢迎您" echo encryptDecrypt(password, z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=,1); ?>

②第二种加密解密算法:

<?php //加密函数 function lock_url($txt,$key=www.zhuoyuexiazai.com){ $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+"; $nh = rand(0,64); $ch = $chars[$nh]; $mdKey = md5($key.$ch); $mdKey = substr($mdKey,$nh%8, $nh%8+7); $txt = base64_encode($txt); $tmp = ; $i=0;$j=0;$k = 0; for ($i=0; $i<strlen($txt); $i++) { $k = $k == strlen($mdKey) ? 0 : $k; $j = ($nh+strpos($chars,$txt[$i])+ord($mdKey[$k++]))%64; $tmp .= $chars[$j]; } return urlencode($ch.$tmp); } //解密函数 function unlock_url($txt,$key=www.zhuoyuexiazai.com){ $txt = urldecode($txt);




上一篇:智一面面试题:php中有几种加密方式?请列举
下一篇:php几种常用的加密解密算法
回复

使用道具 举报

3047

主题

3万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96065852
发表于 2024-10-5 03:10:19 | 显示全部楼层
感谢楼主的分享!我学到了很多。
回复

使用道具 举报

3069

主题

3万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99138952
发表于 2024-10-17 20:55:52 | 显示全部楼层
感谢楼主的分享!我学到了很多。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-23 04:14 , Processed in 0.099343 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.