摘自:http://www.thinkphp.cn/code/1794.html通过加密cookie是网站安全性更高,登录信息不保存在session中在function.php文件在建立两个函数,加密和解密函数/*** 加密函数* @param string $txt 需要加密的字符串* @param string $key 密钥* @return string 返回加密结果*/function encrypt($txt, $key = ‘‘){if (empty($txt)) return$txt;if (empty($key)) $key = md5(MD5_KEY);$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghi...
base64 Base64编码可用于在HTTP环境下传递较长的标识信息 base64_encode base64_decodeserialize 可以将类(对象)存储为字符串. 可以用unserialize还原存储的类(对象) serialize unserialize json 数据交换格式.值可以是:数字,字符串,逻辑值,数组,对象,null.可适用多种语言 json_encode json_decode...
<?php/** *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */function passport_encrypt($str,$key){ //加密函数 srand((double)microtime() * 1000000); $encrypt_key=md5(rand(0, 32000)); $ctr=0; $tmp="";for($i=0;$i<strlen($str);$i++){ $ctr=$ctr==strlen($encrypt_key)?0:$ctr; $tmp.=$encrypt_key[$ctr].($str[$i] ^ $encrypt_key[$ctr++]);}return base64_encode(passport_key($t...
PHP的加密主要有4种方法,除此之外还有一种是URL的加密和解密。希望可以对你们开发有用。顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了。 笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2 一、md5()加密技术语法: string md5(string $str[,bool $raw_output=false]):计算str的md5散列值 $str:原始...
项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理。最常见的应用在用户登录以及一些API数据交换的场景。笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家。加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果。1、非常给力的authcode加密函数,Discuz!经典代码(...
<?php
class Mypass {staticfunction encrypt($data, $key){$key = md5($key);$x = 0;$len = strlen($data);$l = strlen($key);for ($i = 0; $i < $len; $i++){if ($x == $l){$x = 0;}$char .= $key{$x};$x++;}for ($i = 0; $i < $len; $i++){$str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);}returnbase64_encode($str);}staticfunction decrypt($data, $key){$key = md5($key);$x = 0;$data = base64_decode($data);$le...
将它们打包成一个文件就叫fun.php吧 复制代码 代码如下:<?php function passport_encrypt($txt, $key) { srand((double)microtime() * 1000000); $encrypt_key = md5(rand(0, 32000)); $ctr = 0; $tmp = ‘‘; for($i = 0;$i < strlen($txt); $i++) { $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]); } return base64_encode(passport_key($tmp, $key)); } funct...
$str = "测试加密解密";$key = ‘^&yang*%#2014!$‘;$new_str = my_encrypt($str, $key );echo ‘原始:‘.$str.‘<br />‘; echo ‘加密:‘.$new_str.‘<br />‘;echo ‘解密:‘.my_decrypt($new_str, $key);function my_encrypt($string, $key=‘‘){$key = md5($key);$key_length = strlen($key);$string = substr(md5($string.$key),0,8).$string;$string_length = strlen($string);$rndkey = $box = array();$result = ‘‘...
原理如下,假如: 加密 明文:1010 1001 密匙:1110 0011 密文:0100 1010 得出密文0100 1010,解密之需和密匙异或下就可以了 解密 密文:0100 1010 密匙:1110 0011 明文:1010 1001 并没有什么高深的算法,密匙重要性很高,所以,关键在于怎么生成密匙。 那我们一起看下康盛的authcode怎么做的吧 代码如下:// 参数解释 // $string: 明文 或 密文 // $operation:DECODE表示解密,其它表示加密 // $key: 密匙 // $expiry:密文有...
本篇文章主要介绍php加密解密的相关实现技巧,感兴趣的朋友参考下,希望对大家有所帮助。具体如下:<?php
class Ender{private $enkey;//加密解密用的密钥private $rep_char=#;//替换加密后的base64字符串中的=,因为=在有些场合是禁止使用的,//这里可以用一个允许的字符作为替换。//构造参数是密钥public function __construct($key=){if(!$key){$this->enkey=$key;}}//设置密钥http://blog.ddian.cnpublic function set_key($key...
<?php $key = "This is supposed to be a secret key !!!"; function keyED($txt,$encrypt_key) { $encrypt_key = md5($encrypt_key); $ctr=0; $tmp = ""; for ($i=0;$i<strlen($txt);$i++) { if ($ctr==strlen($encrypt_key)) $ctr=0; $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1); $ctr++; } return $tmp; } function encrypt($txt,$key) { srand((double)microtime()*1000000); $encrypt_key = m...
php加密方法有:1、MD5加密方法;2、Crype加密方法;3、Sha1加密方法;4、URL加密方法;5、Base64信息编码加密方法等等。推荐:《PHP视频教程》该方法适用于所有品牌电脑。PHP密码的六种加密方式1. MD5加密string md5 ( string $str [, bool $raw_output = false ] )参数str -- 原始字符串。raw_output -- 如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。这是一种不可逆加密,执...
php加密乱码的解决解决办法:首先对密文进行MD5加密;然后通过base64加密来避免乱码,代码语句为“$bs_test = base64_encode($test); ”。推荐:《PHP视频教程》在最近的项目当中,是把原来的功能封装一层弄成接口给第三方调用,其中就接触到了弄签名加密这一块,用的是RES加密,思路是用公钥和POST参数拼接成字符串再进行公钥加密,但是因RES加密对密文是有要求的,有长度限制的。POST数据过长会导致密文数据过长,从而解密失败,...
PHP 5.5 之后引入 Password hashing API 用于创建和校验哈希密码,它属于内核自带,无需进行任何扩展安装和配置。它主要提供了四个函数以供使用:● password_hash():创建密码的哈希;● password_verify():验证密码是否和哈希匹配;● password_needs_rehash():检查给定的哈希是否匹配给定的选项;● password_get_info():返回指定哈希的相关信息。1、password_hash(string password, int algo [, array options])使用足够强度...
互联网上大多数网站,用户的数据都是以明文形式直接提交到后端CGI,服务器之间的访问也大都是明文传输,这样可被一些别有用心之人通过一些手段监听到。对安全性要求较高的网站,比如银行和大型企业等都会使用HTTPS对通讯过程进行加密等处理。但是使用HTTPS的代价是及其昂贵的。不只是CA证书的购买,更重要的是严重的性能瓶颈,解决方法目前只能采用专门的SSL硬件加速设备如F5的BIGIP等。因此一些网站选择了简单模拟SSL的做法,使用...