php結(jié)合md5的加密解密算法實(shí)例
本文實(shí)例講述了php結(jié)合md5的加密解密算法。分享給大家供大家參考,具體如下:
<?php
/*
* Created on 2016-9-30
*
*/
function 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);
}
return base64_encode($str);
}
function decrypt($data, $key)
{
$key = md5($key);
$x = 0;
$data = base64_decode($data);
$len = strlen($data);
$l = strlen($key);
for ($i = 0; $i < $len; $i++)
{
if ($x == $l)
{
$x = 0;
}
$char .= substr($key, $x, 1);
$x++;
}
for ($i = 0; $i < $len; $i++)
{
if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))
{
$str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
}
else
{
$str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
}
}
return $str;
}
$data = '腳本之家www.dhdzp.com'; // 被加密信息
$data=iconv("gbk","utf-8",$data);
$key = 'www.dhdzp.com'; // 密鑰
$encrypt = encrypt($data, $key);
$decrypt = decrypt($encrypt, $key);
echo $encrypt, "<br/>", $decrypt;
?>
運(yùn)行結(jié)果如下:
TrXMTM8SFB3DGhTr2qeuYqOXZmpmn8mo 腳本之家www.dhdzp.com
PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:
密碼安全性在線檢測(cè):
http://tools.jb51.net/password/my_password_safe
高強(qiáng)度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword
MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password
迅雷、快車、旋風(fēng)URL加密/解密工具:
http://tools.jb51.net/password/urlrethunder
在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php加密方法總結(jié)》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mé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é)》、及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php 的加密函數(shù) md5,crypt,base64_encode 等使用介紹
- php使用crypt()函數(shù)進(jìn)行加密
- php基于mcrypt的加密解密實(shí)例
- PHP加密擴(kuò)展庫(kù)Mcrypt安裝和實(shí)例
- PHP mcrypt可逆加密算法分析
- PHP 加密/解密函數(shù) dencrypt(動(dòng)態(tài)密文,帶壓縮功能,支持中文)
- php結(jié)合md5實(shí)現(xiàn)的加密解密方法
- php實(shí)現(xiàn)MD5加密16位(不要默認(rèn)的32位)
- 利用PHP腳本在Linux下用md5函數(shù)加密字符串的方法
- PHP常見(jiàn)加密函數(shù)用法示例【crypt與md5】
相關(guān)文章
php異步:在php中使用fsockopen curl實(shí)現(xiàn)類似異步處理的功能方法
下面小編就為大家?guī)?lái)一篇php異步:在php中使用fsockopen curl實(shí)現(xiàn)類似異步處理的功能方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12
mysql desc(DESCRIBE)命令實(shí)例講解
這篇文章主要介紹了mysql desc(DESCRIBE)命令實(shí)例講解的相關(guān)資料,需要的朋友可以參考下2016-09-09
淺析application/x-www-form-urlencoded和multipart/form-data的區(qū)別
我們知道在通過(guò)POST方式向服務(wù)器發(fā)送AJAX請(qǐng)求時(shí)最好要通過(guò)設(shè)置請(qǐng)求頭來(lái)指定為application/x-www-form-urlencoded編碼類型。知道通過(guò)表單上傳文件時(shí)必須指定編碼類型為"multipart/form-data"。那么為什么要這么設(shè)置呢2014-06-06
PHP命名空間namespace定義及導(dǎo)入use用法詳解
這篇文章主要介紹了PHP命名空間namespace定義及導(dǎo)入use用法,結(jié)合實(shí)例形式詳細(xì)分析了php中命名空間namespace的功能、定義及導(dǎo)入use相關(guān)使用方法與操作技巧,需要的朋友可以參考下2018-03-03
php識(shí)別翻轉(zhuǎn)iphone拍攝的顛倒圖片
這篇文章主要介紹了php識(shí)別翻轉(zhuǎn)iphone拍攝的顛倒圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05

