所以,一般加密保存,不要单独使用这些密码,不如这样子混合使用:
echo "<hr/>";
echo sha1(sha1('admin',true));
echo "<hr/>";
echo sha1(md5('admin'));
等于是加密外面又自行进行了简单的加密!!
四、URL编码加密
对地址栏信息进行加密;
双向,urlencode和urldecode;
/**
* URL编码加密
*/
$str="this is a test";
$result=urlencode($str);
echo $result;
echo "<hr/>";
echo urldecode($result);
echo "<hr/>";
$str="login.php?username=shit&action=act%3 hape#123";
echo urlencode($str);
echo "<hr/>";
echo "<a href='index.php?username=shit&gender=male'>Shit Login</a>";
print_r($_GET);
echo "<hr/>";
//所以地址栏进行一下编码,一方面是保密,一方面是处理特殊情况
//比如username&shit是一个整体,不编码的话,浏览器是看不出的
echo "<a href='index.php?username=username&shit&gender=male'>Shit Login2</a>";
print_r($_GET);
echo "<hr/>";
$str="username&shit";
$str2="username=".urlencode($str)."&gender=".urlencode("male");
echo "<a href='index.php?".$str2."'>Shit Login3</a>";
print_r($_GET);
echo "<hr/>";
//baidu example
//https://www.baidu.com/s?ie=utf8&wd=url%E7%BC%96%E7%A0%81%E5%8A%A0%E5%AF%86&tn=87048150_dg
//search url编码
结果如下
this+is+a+test this is a test login.php%3Fusername%3Dshit%26action%3Dact%253+hape%23123%5C Shit LoginArray ( [username] => username&shit [gender] => male ) Shit Login2Array ( [username] => username&shit [gender] => male ) Shit Login3Array ( [username] => username&shit [gender] => male )
所以功能就是:地址栏更加安全,不再明文传输,另一个解决特殊情况的传递
五、Base64编码加密
其实base64不是加密技术,只不过他会对data进行base64的编码,也可以看做是一种加密技术;
/**
* Base64
*/
$data="I am king";
echo base64_encode($data);
echo "<hr/>";
echo base64_decode(base64_encode($data));
echo "<hr/>";
echo base64_encode("中文测试");
echo "<hr/>";
// echo base64_decode("R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==");
$data=file_get_contents("0.jpg");
echo base64_encode($data);
等于说是对内容进行加密;
总结
单项散列加密:得到固定长度的输出,是单向的;
对称散列加密:使用同一把密钥进行加密解密,可以相互推算;(算法简单,效率高,开销小,适合对大量数据进行加密)DES等
非对称加密技术:密钥不一样,公钥和私钥之分
以上这篇PHP加密技术的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易采站长站。







