电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP加密函數(shù)與解密函數(shù)詳解

瀏覽:125日期:2022-06-06 09:09:02

去網(wǎng)上找了下。

Php常用的加密函數(shù)有

MD5加密(不可逆)、Crypt加密(不可逆)、Sha1加密(不可逆)、Urlencode加密(可逆)

base64編碼加密(可逆)

還是見識(shí)的太少,這其中我只用過MD5和base64

最常用的還是MD5 ,MD5的加密雖不可逆,但一些簡(jiǎn)單的 兩次MD5加密的字符串,花點(diǎn)錢還是能解密的。

為了防止解密一般都是對(duì)字符串進(jìn)行MD5加密,在加密過得字符串上加一個(gè)固定字符串,再進(jìn)行MD5加密。(感覺好麻煩……)

分享一個(gè)自用的加密和解密函數(shù)

/** 
* 加密 
* @param string $string     要加密或解密的字符串 
* @param string $operation 加密 ""  解密 DECODE 
* @param string $key密鑰,加密解密時(shí)保持一致 
* @param int    $expiry 有效時(shí)長(zhǎng),單位:秒 
* @return string 
*/  
function encrypt_code($string, $expiry = 0, $key = "1234567890") {  
    $ckey_length = 1;  
    $key = md5($key ? $key : UC_KEY); //加密解密時(shí)這個(gè)是不變的  
    $keya = md5(substr($key, 0, 16)); //加密解密時(shí)這個(gè)是不變的  
    $keyb = md5(substr($key, 16, 16)); //加密解密時(shí)這個(gè)是不變的  
    $keyc = $ckey_length ?  substr(md5(microtime()), -$ckey_length) : "";  
    $cryptkey = $keya . md5($keya . $keyc); //64  
    $key_length = strlen($cryptkey); //64  
   
    $string =sprintf("%010d", $expiry ? $expiry + time() : 0) . substr(md5($string . $keyb), 0, 16) . $string;  
    $string_length = strlen($string);  
   
    $result = "";  
    $box = range(0, 255);  
   
    $rndkey = array();  
    for ($i = 0; $i <= 255; $i++) { //字母表 64位后重復(fù) 數(shù)列 范圍為48~122  
$rndkey[$i] = ord($cryptkey[$i % $key_length]);  
    }  
   
    for ($j = $i = 0; $i < 256; $i++) { //這里是一個(gè)打亂算法  
$j = ($j + $box[$i] + $rndkey[$i]) % 256;  
$tmp = $box[$i];  
$box[$i] = $box[$j];  
$box[$j] = $tmp;  
    }  
    for ($a = $j = $i = 0; $i < $string_length; $i++) {  
$result .= chr(ord($string[$i]) ^ ($box[$i]));  
       
    }  
     $str =  $keyc . str_replace("=", "", base64_encode($result));    
//  $str =htmlentities($str, ENT_QUOTES, "UTF-8"); // curl 訪問出錯(cuò)  
  return $str ;  
}  
  
       
/** 
* 解密 
* @param string $string     要加密或解密的字符串 
* @param string $operation 加密 ""  解密 DECODE 
* @param string $key密鑰,加密解密時(shí)保持一致 
* @param int    $expiry 有效時(shí)長(zhǎng),單位:秒 
* @return string 
*/  
function encrypt_decode($string, $expiry = 0,$key = "1234567890") {    
    $ckey_length = 1;  
    $key = md5($key ? $key : UC_KEY); //加密解密時(shí)這個(gè)是不變的  
    $keya = md5(substr($key, 0, 16)); //加密解密時(shí)這個(gè)是不變的  
    $keyb = md5(substr($key, 16, 16)); //加密解密時(shí)這個(gè)是不變的  

    $keyc = $ckey_length ?  substr($string, 0, $ckey_length)   : "";  
  
    $cryptkey = $keya . md5($keya . $keyc); //64  
    $key_length = strlen($cryptkey); //64  
    $string = base64_decode(substr($string, $ckey_length)) ;  
       $string_length = strlen($string);  
    $result = "";  
    $box = range(0, 255);  
  
    $rndkey = array();  
    for ($i = 0; $i <= 255; $i++) { //字母表 64位后重復(fù) 數(shù)列 范圍為48~122  
$rndkey[$i] = ord($cryptkey[$i % $key_length]);  
    }  
    for ($j = $i = 0; $i < 256; $i++) { //這里是一個(gè)打亂算法  
$j = ($j + $box[$i] + $rndkey[$i]) % 256;  
  
$tmp = $box[$i];  
$box[$i] = $box[$j];  
$box[$j] = $tmp;  
    }  
    for($a = $j = $i = 0; $i < $string_length; $i++) {  
$result .= chr(ord($string[$i]) ^ ($box[$i]));  
    }  
    if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26) . $keyb), 0, 16)) {  
       return substr($result, 26);  
    }else{  
       return false;  
    }  
}

注:加密函數(shù)與解密函數(shù)中的 $key 必須完全相同。

到此這篇關(guān)于PHP加密函數(shù)與解密函數(shù)詳解的文章就介紹到這了,更多相關(guān)PHP加密解密函數(shù)內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: PHP
主站蜘蛛池模板: 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 北京三友信电子科技有限公司-ETC高速自动栏杆机|ETC机柜|激光车辆轮廓测量仪|嵌入式车道控制器 | 成都LED显示屏丨室内户外全彩led屏厂家方案报价_四川诺显科技 | 二维运动混料机,加热型混料机,干粉混料机-南京腾阳干燥设备厂 | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 电缆桥架生产厂家_槽式/梯式_热镀锌线槽_广东东莞雷正电气 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 二次元影像仪|二次元测量仪|拉力机|全自动影像测量仪厂家_苏州牧象仪器 | 上海软件开发-上海软件公司-软件外包-企业软件定制开发公司-咏熠科技 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | U拓留学雅思一站式服务中心_留学申请_雅思托福培训 | 缓蚀除垢剂_循环水阻垢剂_反渗透锅炉阻垢剂_有机硫化物-郑州威大水处理材料有限公司 | 小型UV打印机-UV平板打印机-大型uv打印机-UV打印机源头厂家 |松普集团 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 智慧消防-消防物联网系统云平台 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 长沙印刷厂-包装印刷-画册印刷厂家-湖南省日大彩色印务有限公司 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 北京律师咨询_知名专业北京律师事务所_免费法律咨询 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 预制围墙_工程预制围墙_天津市瑞通建筑材料有限公司 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | MES系统工业智能终端_生产管理看板/安灯/ESOP/静电监控_讯鹏科技 | 阜阳在线-阜阳综合门户 | 北京三友信电子科技有限公司-ETC高速自动栏杆机|ETC机柜|激光车辆轮廓测量仪|嵌入式车道控制器 | 万濠投影仪_瑞士TRIMOS高度仪_尼康投影仪V12BDC|量子仪器 | 浙江寺庙设计-杭州寺院设计-宁波寺庙规划_汉匠 | 板框压滤机-隔膜压滤机-厢式压滤机生产厂家-禹州市君工机械设备有限公司 | 通风天窗,通风气楼,屋顶通风天窗,屋顶通风天窗公司 | 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 成都离婚律师|成都结婚律师|成都离婚财产分割律师|成都律师-成都离婚律师网 | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 顺辉瓷砖-大国品牌-中国顺辉| 开云(中国)Kaiyun·官方网站-登录入口 | 粉碎机_塑料粉碎机_塑料破碎机厂家-星标机械 | 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 |