巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
建站资讯News

PHP加密扩大库Mcrypt装置和实例

0
一佰互联网站扶植(www.taishanly.com) 宣布时辰:2020-04-29 09:01:57 阅读数: 108

mcrypt简略先容
PHP法式员们在编写代码法式时,除要保证代码的高机能以外,另有一点是很是主要的,那便是法式的宁静性保证。PHP除自带的几种加密函数外,另有功效更周全的PHP加密扩大库Mcrypt和Mhash。
此中,Mcrypt扩大库能够完成加密解密功效,便是既能将明文加密,也能够密文复原。
mcrypt 是 php 外面主要的加密撑持扩大库,linux情况下:该库在默许情况下不开启。window情况下:PHP>=5.3,默许开启mcrypt扩大。
1、Mcrypt()库的装置
mcypt是一个功效很是壮大的加密算法扩大库。在规范的PHP装置进程中并不把Mcrypt装置上,但PHP的主目次下包罗了libmcrypt.dll文件,以是咱们只用将PHP设置装备摆设文件中的这行:extension=php_mcrypt.dll后面的分号去掉,而后重启办事器就能够操纵这个扩大库了。
撑持的算法和加密形式
Mcrypt库撑持20多种加密算法和8种加密形式,详细能够经由过程函数mcrypt_list_algorithms()和mcrypt_list_modes()来显现[1]加密算法
Mcrypt撑持的算法有:
cast-128
gost
rijndael-128
twofish
arcfour
cast-256
loki97
rijndael-192
saferplus
wake
blowfish-compat
des
rijndael-256
serpent
xtea
blowfish
enigma
rc2
tripledes
加密形式
Mcrypt撑持的加密形式有:
cbc
cfb
ctr
ecb
ncfb
nofb
ofb
stream
这些算法和形式在操纵中要以常量来表现,写的时辰加上前缀MCRYPT_和MCRYPT_来表现,以下面Mcrypt操纵的

例子

DES算法表现为MCRYPT_DES;
ECB形式表现为MCRYPT_MODE_ECB;
复制代码 代码以下:
<?php
$str = "我的名字是?普通人我不告知他!"; //加密内容
$key = "key:111"; //密钥
$cipher = MCRYPT_DES; //暗码范例
$modes = MCRYPT_MODE_ECB; //暗码形式
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);//初始化向量
echo "加密明文:".$str."<p>";
$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); //加密函数
echo "加密密文:".$str_encrypt." <p>";
$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); //解密函数
echo "复原:".$str_decrypt;
?>
 
运转成果:
加密明文:我的名字是?普通人我不告知他!
加密密文: 锍??]??q???L 笑 ??"? ?
复原:我的名字是?普通人我不告知他!
<1>由例子中可看到,操纵PHP加密扩大库Mcrypt对数据加密息争密之前,起首建立了一个初始化向量,简称为iv。由 $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);可见建立初始化向 量须要两个参数:size指定了iv的巨细;source为iv的源,此中值MCRYPT_RAND为体系随机数。
<2>函数mcrypt_get_iv_size($cipher,$modes)前往初始化向量巨细,参数cipher和mode别离指算法和加 密形式。
<3>加密函数$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); 该函数的5个参数分 别以下:cipher——加密算法、key——密钥、data(str)——须要加密的数据、mode——算法形式、 iv——初始化向量
<4>解密函数 mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); 该函数和加密函数的参数几近 一样,独一差别的是data,也便是说data为须要解密的数据$str_encrypt,而不是原始数据$str。
注:加密息争密函数中的参数cipher、key和mode必须逐一对应,不然数据不能被复原

总结
mcrypt库常量
Mcrypt库撑持20多种加密算法和8种加密形式。能够经由过程函数mcrypt_list_algorithms()和mcrypt_list_modes()来检查。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。更多资讯:tags标签

上一篇:PHP操纵str_replace防注入的体例
下一篇: php中autoload的用法总结
[前往消息列表]

相干消息more

01
05月
php+mysql开源XNA 聚合法式宣布

PHP+MYSQL (php5 +mysql 4.1) 的一个简略的开源XNA聚合,结果如:http://xna.spvrk.com一个简略... >>概况

21
04月
经由过程CSS的滤镜完成火焰结果的示例

前次咱们领会了一些css滤镜的根本常识,CSS滤镜 filter属性 此次咱们就来用css的滤镜完成一个 火焰的结果。诠释要完成下面的火焰效... >>概况

26
03月
对于ThinkPHP存在长途代码履行缝隙的安

简介:首创: CNVD CNVD缝隙平台 2019-12-11宁静通知布告编号:CNTA-2018-00322018年12月11日,国度信息宁静... >>概况

24
08月
上海昌大维禾文明传布无限公司

上海昌大维禾文明传布无限公司是专业的视听办事公司,本公司以视频建造、拍照及AV办事为主,由一批多年电视任务经历的职员构成的专业视频建造团队... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站