试论PHP加密技术在网站安全方面的应用
期刊目录网计算机网络论文发表2013-09-03 14:59关注(1)
摘 要:PHP语言是当前网站开发最热门的语言之一,越来越多使用PHP语言开发的网站涌现在了互联网上。但是由于安全意识的缺乏以及攻击手段的层出不穷,PHP网站所暴漏出来的安全性问题也越来越多,本文主要就PHP中内置的加密函数在网络安全中的应用进行叙述。
关键词:PHP;加密函数;身份认证;网站安全;
引言
自20世纪90年代国内互联网开始发展到现在,互联网信息几乎覆盖了我们日常活动所有知识范畴,并逐渐成为我们生活、学习、工作中必不可少的一部分。据统计,从2003年开始,我国的网页规模基本保持了翻番的增长速度,并且呈上升趋势。PHP语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。出于对网络交易和数据传输安全方面的考虑,动态网站技术PHP语言脚本中内置了加密函数,它是一种保证网站信息安全的最有效的方法。
1.PHP的内置函数及应用
PHP中的内置函数包括单向函数crypt()、散列MD5、数据编码与解码base64_enecode/base64_decode等。
1.1函数crypt()
crypt()函数常用来对一些明文进行单向加密,例如,网站中需要验证用户的密码时,就需要对用户输入的密码进行单向加密,并将单向加密的密文与系统中保存的密文进行比较,若相同,则允许用户登录。string crypt(string input_string [, string salt])中的input_string是想要加密的字符串,可选参数salt能够降低预计算攻击的威胁。由于采用的是单向加密,加密后的密文一旦落入到了第三方的手中,也无法从中获得明文,因此其意义不大。
除单向加密外,crypt()函数还可以用来限制用户的访问权限,即对用户进行身份验证。首先创建一个有用户名和密码的表,然后将对应的数据存入表中。这里每个口令的前两个字母创建了干扰串。使用Apche的口令-应答认证配置提示用户输入用户名和口令,PHP将其识别为$PHP_AUTH_USER和$PHP_AUTU_PW。
1.2散列md5
PHP中内置的md5()将一个可变长度的信息转化为128位消息摘要形式,检查文件的完整性,并进行数字签名验证和身份验证等。md5(string,raw)中的string为输入计算的字符串,可选参数raw规定了十六进制或二进制输出格式。使用该函数时,只有其中一个字符串中的一个字符发生了改变,则计算得到的结果也是截然不同的。
1.3 base64_enecode与base64_decode
Base64_encode()返回使用base64对数据所做的编码,进而使二进制数据通过非纯8-bit传输层传输。base64_decode 则对使用了MIME base64编码的数据进行解码,并返回原始数据,此时返回的数据可能是二进制的。
2.PHP加密扩展库及应用
PHP主目录下包含了两个扩展库:mcrypt和mhash。
2.1mcrypt
mcrypt提供了35种用于数据处理的函数,下面介绍数据加密函数和数据解密函数mcrypt_encrypt()和mcrypt_decrypt()的应用。
$str=” PHP加密技术”;//要加密的文字
$key=”key:123”;//密钥
$cipher=MCRYPT_ECB;//密码类型
$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,$mode,$iv);//加密函数
echo”加密后的密文” .$str_encrypt.”p”;
$str_decrypt=mcrypt_decrypt($cupher,$key,$str_encrypt,modes,$iv);//解密函数
Echo”还原”.$str_decrypt;
2.2 mhash
Mhash支持的混编算法有:CRC32 HAVAL160 MD6;CRC32B HAVAL192 RIPEMD160;GOST HAVAL224 SHA1;HAVAL128 HVAL256 TIGER。需要注意的是mhash支持的所有算法的名字都是以MHASH_开头的。
4.结束语
在上述有关PHP内置函数及加密扩展库的论述中,crypt()和md5()的功能方面存在一定的限制,Mcrypt和Mhash扩展库则提供了更全面加密与解密方法。在应用PHP加密为实际网站加密的过程中,由于PHP是一种服务器端技术,不能阻止数据在传输过程中泄密,因此需要将服务器与客户端间数据传输的安全性作为一个重点的问题加以考虑,同时配合Apache-SSL等安全服务器,以此来实现一个更剧安全性能的网站系统。
参考文献
[1]W.Jason Gilmore,朱涛江译.PHP与PHP程序设计.北京:人民邮电出版社,2009
刘丽萍,张力宏,张兰兰.使用PHP对信息进行加密传输的研究.情报科学,2009,2(9):1383-1385
吴晓刚.PHP网站加密技术及其应用.电脑编程技巧与维护,2011
试论PHP加密技术在网站安全方面的应用相关论文:
- 测控技术测绘技术论文发表核心期刊
- 系统仿真技术杂志国家级期刊征收论文格式核心期刊
- 电力电子技术电力工程论文核心期刊
- 电气电子教学学报电子科学论文核心期刊
- 广东电力电力工程师职称论文核心期刊
- 工程设计学报机电一体化论文核心期刊
- 光谱学与光谱分析光学论文发表核心期刊
- 电源学报电子技术论文发表核心期刊
- 热力发电杂志最新工程师论文查询核心期刊
- 《计算机研究与发展》核心电子期刊方式核心期刊
- 《计算机研究与发展》核心电子期刊方式
- 《计算机技术与发展》核心电子期刊
- 《计算机时代》电子核心论文期刊
- 计算机周刊杂志是什么级别刊物
- 自动化与信息工程杂志广东省科学院主管刊物
- 中国机电工业杂志论文字体要求
- 信息通信技术杂志是国家级期刊吗
- 今日电子杂志2017年7期论文目录查询
- 当代通信杂志通信工程师期刊
- 电力工程技术江苏电力期刊
- oa开放访问是什么意思
- 亚太生物学期刊是sci吗
- isbn是核心期刊吗
- 英文期刊的卷号和期号怎么看
- 内分泌领域的sci杂志哪些容易中
- 法学英文期刊有哪些
- 3分左右的医学杂志
- 农业SCI期刊有哪些
- 林业SCI期刊有哪些
- 生命科学领域sci期刊有哪些
- sci共第一作者可以评高级职称吗
- 政工师中级职称晋升要求
- 评职称专利和软著哪个更有用
- 评职称的论文有时间限制吗
- 一级播音员职称破格申报什么标准
- 评职称需要几年的继续教育证书
- 河北认证的中级职称北京认可吗
- 评中级需要几个业绩
- 技师转评工程师需要什么材料
- 助理政工师晋升中级认可的刊物有哪些
- 分享英文降低重复率的几个技巧
- 论文清样后还能添加作者吗
- issn是国际标准书号吗
- 英文综述字数包括参考文献吗
- 论文见刊后才有doi吗
- agronomy-basel杂志是哪个国家的,怎么样
- 论文一审会检查哪些内容
- sci论文插图有哪些要求
- sci论文被拒后修改内容还能重投吗
- 中科院分区每年几月份更新
- 英文论文撰写常用的到哪些词汇
- 国际英文论文的格式要求
- 英文论文需要查重吗
- sci的审稿人有人数限制吗
- 哪些学报被ei收录
- 电力系统自动化是SCI期刊吗
- sci论文的索引时间和出版时间一样吗
- 英语论文摘要多少字合适
- 一篇sci四区能读博吗
- sci论文引言部分查重吗
- 出书对学历有要求吗
- 合作出书与自费出书的区别
- 副主编的第一第二第三位置区别讲解
- 副主编署名一般需要注意哪些问题
- 人教统编版和部编版的区别是什么
- 出版诗集有什么要求
- 教材主编与副主编有人数限制吗
- 详解香港书号申请流程
- 申请丛书书号需要多久
- 教材和著作评职称有什么区别
- 发明专利公示期是多久
- 发明专利的转让方式有哪些
- 发明专利的实质审查一般多久
- 发明专利查重吗
- 什么是发明专利号
- 发明专利的授权条件包括哪些
- 哪些专利符合发明专利
- 什么是pct专利
- 专利主要发明人评职可以加几分
- 专利第一发明人可以有几个