php语言

PHP加密技术在安全方面的应用

时间:2024-09-17 11:16:05 php语言 我要投稿
  • 相关推荐

PHP加密技术在安全方面的应用

  导语:PHP语言是当前网站开发最热门的语言之一,越来越多使用PHP语言开发的网站涌现在了互联网上。下面的是YJBYS为大家搜集的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()的应用。

  ?php

  $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_开头的。

  

【PHP加密技术在安全方面的应用】相关文章:

PHP缓存技术10-08

php缓存技术经典总结09-09

php发展和php应用为什么比asp强09-30

php注册和登录界面的实现案例10-15

最新PHP技术笔试题09-10

十个PHP高级应用技巧07-28

10个常用的PHP技术技巧06-28

php面向对象全攻略 php5接口技术06-18

php-smarty模版引擎中的缓存应用04-23

php中allow-url-include的应用分析07-25