`

php加密技术

    博客分类:
 
阅读更多

主要有crypt(),md5(),sha1()这3个函数。还有加密扩展库mcrypt和mhash

1.crypt()(单向加密,安全性较低)

String crypt(String str[,String salt]);

salt参数为加密时使用的干扰串,如果省去,会随机生成一个干扰串,该函数支持4种算法和长度。

2.md5()

String md5(String str[,bool raw_output]);

raw_output参数默认为false,如果为真,函数返回一个二进制形式的密文。

3.sha1()     secure hash algorithm(安全哈希算法)

String sha1(String str[,bool raw_output]);

函数返回一个40位的16进制数,如果raw_output为真,则返回一个20位的2进制数。

                                                  Mcrypt库

libmcrypt.dll 到windows(php.ini配置的initDir 目录),然后配置php.ini文件中的extension=libmcrypt.dll;

mcypt支持20多种加密算法和8种加密模式。

mcypt_list_algorithms()和mcypt_list_modes()都返回一个数组,可以用foreach循环出来查看mcypt支持的加密算法和模式。

<?php

$en_dir = mcrypt_list_algorithms() ;

echo "Mcrypt支持的算法有:";

foreach($en_dir as $en_value){

   echo '<br>';

   echo $en_value." ";

}

?>

<?php

$mo_dir = mcrypt_list_modes() ;

echo "<p>Mcrypt支持的加密模式有:";

foreach($mo_dir as $mo_value){

   echo '<br>';

   echo $mo_value." ";

}

?>

输出为:

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库的一个例子:

<?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);//里面的$cipher,$modes可以不与mcrypt_get_iv_size里的一样

echo "加密后:".$str_encrypt." <p>";

$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv);//要跟上面的加密里的$cipher,$modes一样才能还原

echo "还原:".$str_decrypt;

?>

输出:

加密前:被加密的内容:相见时难别亦难 东风无力百花残

加密后: 鞤"猀车摰 D瓇A?Jo鷟?咦N翢? 蟮E6?鄹[p}??

还原:被加密的内容:相见时难别亦难 东风无力百花残

                                                 Mhash库

libmash.dll 配置方式同上

mhash支持md5,sha1,crc32等多种散列算法,可以使用mhash_count()和mhash_get_hash_name()输出支持的算法名称。

<?php

$num = mhash_count();          //函数返回最大的hash id

echo "Mhash库支持的算法有:";

for($i = 0; $i <= $num; $i++){

echo '<br>';

echo $i."=>".mhash_get_hash_name($i);    //输出每一个hash id 的名称

}

?>

输出:

Mhash库支持的算法有:

0=>CRC32

1=>MD5

2=>SHA1

3=>HAVAL256

4=>

5=>RIPEMD160

6=>

7=>TIGER

8=>GOST

9=>CRC32B

10=>HAVAL224

11=>HAVAL192

12=>HAVAL160

13=>HAVAL128

14=>TIGER128

15=>TIGER160

16=>MD4

17=>SHA256

18=>ADLER32

mhash应用小例子:

<?php

$filename = '07.txt';

$str = file_get_contents($filename);//获取文件全部内容

$hash = 2;    //The hash id. One of the MHASH_XXX constants.

$password = '111';

$salt = '4444';//干扰串 8字节,小于8字节的用0补齐

$key = mhash_keygen_s2k(1,$password,$salt,10);//生成密钥. 1表示1个MHASH_XXX constant,10表示字节长度

$str_mhash = bin2hex(mhash($hash,$str,$key));//讲2进制转化为16进制,生成16进制的校验码

echo "文件07.txt的校验码是:".$str_mhash;

?>

输出:

文件07.txt的校验码是:d03e414026e6e5f0699e8d66e3a1a1e23caea04f

分享到:
评论

相关推荐

    PHP加密软件PHP代码加密

    PHP加密技术主要有以下几种形式: 1. **源代码混淆**:这是最基础的加密方法,通过改变代码的可读性来达到保护目的。例如,可以将变量名、函数名和类名替换为无意义的字符串,同时调整代码格式,使其难以理解。市面...

    PHP网站安全及加密技术对策.pdf

    PHP加密技术的基本应用原理 PHP语言属于超文本预处理器语言,该技术主要针对文件数据加密算法进行数据计算处理,所构建的是一套不可读的数字代码,它主用于保护数据不被外部人员非法窃取与阅读。因此,PHP语言属于...

    PHP_JiaMI.rar_php 加密_php加密

    "PHP_JiaMI.rar"这个压缩包似乎包含了一些关于PHP加密技术的资料,特别是针对PHP的加密功能。下面我们将深入探讨PHP加密的相关知识点。 1. **PHP加密函数**: PHP提供了多种加密函数,如`md5()`, `sha1()`, `...

    [示例][PHP]整数生成唯一字符串的加密PHP库.zip

    本文将深入探讨标题所提及的"整数生成唯一字符串的加密PHP库",并以此为基础,详细讲解相关PHP加密技术、字符串处理以及源码分析。 首先,让我们了解PHP中的加密技术。PHP提供了多种加密函数,如MD5、SHA系列、加密...

    php加密文件,求解密

    1. **PHP加密技术**:PHP文件加密主要有两种常见方式:源码混淆和源码加密。源码混淆是通过改变代码的可读性,使代码变得难以理解,但不影响其执行。常见的混淆工具有 Zend Guard、IonCube 和 SourceGuardian。源码...

    易语言源码易语言PHP加密源码.rar

    常见的PHP加密技术包括混淆、编码、加密等,这些方法可以增加逆向工程的难度,但并不能绝对防止代码被破解。 在易语言中实现PHP加密可能涉及到以下几个关键知识点: 1. **字符串处理**:加密过程中,字符串的转换...

    PHP从入门到精通 源码

    包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、PHP与JavaScript交互...PHP加密技术、My SQL数据库基础、php My Admin图形化管理工具、PHP操作...

    PHP从入门到精通.pdf-入门教程.CHM

    包括初识.PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串...PHP加密技术、MySQL数据库基础、phpMyAdmin图形化管理工具、PHP操作MySQL数据库、ADODB类库、程序调试及错误处理、PHP网络开发、PHP与XMIL...

    PHP从入门到精通

    Session、图形图像处理技术、文件系统、面向对象、PHP加密技术、MySQL数据 库基础、phpMyAdmin图形化管理工具、PHP操作MySQL数据库、ADODB类库、Zend Framework框架、Smarty模板技术、PHP与XML技术、PHP与Ajax...

    PHP网站加密技术及其应用.pdf

    "PHP网站加密技术及其应用" PHP 网站加密技术是指使用 PHP 语言来实现数据加密的技术,并将其应用于网站安全中。随着网络技术的发展,数据加密在企业信息网络中的应用越来越广泛。PHP 提供了多种内置加密函数,如 ...

    PHP从入门到精通PPT

    包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串...PHP加密技术、MySQL数据库基础、phpMyAdmin图形化管理工具、PHP操作MySQL数据库、PDO数据库抽象层、ThinkPHP框架、Smarty模板技术、PHP与XML...

    热血江湖PHP网站程序

    该程序采用了先进的ZEN和PHP加密技术,提升了系统的安全性,防止了恶意攻击和数据泄露,确保用户的数据得到保护。 1. PHP语言:PHP是一种广泛使用的开源脚本语言,特别适合于Web开发,可以嵌入到HTML中。它的语法...

    PHP从入门到精通第二版

    包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串...PHP加密技术、MySQL数据库基础、phpMyAdmin图形化管理工具、PHP操作MySQL数据库、ADODB类库、Zend Framework框架、Smarty模板技术、PHP与XML...

    php加密的两个扩展

    由于你提到这些是由国外大牛制作,且算法未知,这暗示了它们可能采用了高级或定制的加密技术。 1. **PHP源码加密的重要性**: - **知识产权保护**:源码是开发者的心血,加密可以防止未经许可的复制和使用。 - **...

    PHP文件加密软件

    此外,市面上也有一些专门的PHP加密工具,如 ionCube、Zend Guard等,它们提供了强大的加密功能,可以有效地保护PHP代码。 PHP在线加密平台则提供了一种便捷的方式来进行PHP文件加密。用户无需下载安装额外的软件,...

    PHP从入门到精通(第2版)(潘凯华).(扫描版)

    包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、PHP与JavaScript交互...PHP加密技术、My SQL数据库基础、php My Admin图形化管理工具、PHP操作...

    php加密 微盾PHP加密专家

    总的来说,微盾PHP加密专家是一款面向PHP开发者的实用工具,它通过加密和混淆技术,帮助保护源代码的知识产权,防止未经授权的使用和修改。在开发过程中,合理利用这类工具,可以为您的代码穿上一层坚固的“防护盾”...

    PHP开发实战宝典.扫描版.part2.rar

    PHP加密技术,MySQL数据库基本操作,phpMyAdmin图形化管理工具,使用MySQL函数操作数据库,ADODB类库,程序调试与错误处理,XML技术,Ajax技术,Smarty模板技术,博客管理系统,应用Smarty模板开发电子商务平台,...

    PHP加密技术的简单实现

    在IT领域,尤其是在网络安全和数据保护方面,加密技术起着至关重要的作用。本文将探讨PHP中常见的三种加密方法:MD5、Crypt以及SHA1,并详细解释它们的工作原理和使用方式。 首先,MD5(Message-Digest Algorithm 5...

Global site tag (gtag.js) - Google Analytics