主要有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加密技术主要有以下几种形式: 1. **源代码混淆**:这是最基础的加密方法,通过改变代码的可读性来达到保护目的。例如,可以将变量名、函数名和类名替换为无意义的字符串,同时调整代码格式,使其难以理解。市面...
PHP加密技术的基本应用原理 PHP语言属于超文本预处理器语言,该技术主要针对文件数据加密算法进行数据计算处理,所构建的是一套不可读的数字代码,它主用于保护数据不被外部人员非法窃取与阅读。因此,PHP语言属于...
"PHP_JiaMI.rar"这个压缩包似乎包含了一些关于PHP加密技术的资料,特别是针对PHP的加密功能。下面我们将深入探讨PHP加密的相关知识点。 1. **PHP加密函数**: PHP提供了多种加密函数,如`md5()`, `sha1()`, `...
本文将深入探讨标题所提及的"整数生成唯一字符串的加密PHP库",并以此为基础,详细讲解相关PHP加密技术、字符串处理以及源码分析。 首先,让我们了解PHP中的加密技术。PHP提供了多种加密函数,如MD5、SHA系列、加密...
1. **PHP加密技术**:PHP文件加密主要有两种常见方式:源码混淆和源码加密。源码混淆是通过改变代码的可读性,使代码变得难以理解,但不影响其执行。常见的混淆工具有 Zend Guard、IonCube 和 SourceGuardian。源码...
常见的PHP加密技术包括混淆、编码、加密等,这些方法可以增加逆向工程的难度,但并不能绝对防止代码被破解。 在易语言中实现PHP加密可能涉及到以下几个关键知识点: 1. **字符串处理**:加密过程中,字符串的转换...
包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、PHP与JavaScript交互...PHP加密技术、My SQL数据库基础、php My Admin图形化管理工具、PHP操作...
包括初识.PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串...PHP加密技术、MySQL数据库基础、phpMyAdmin图形化管理工具、PHP操作MySQL数据库、ADODB类库、程序调试及错误处理、PHP网络开发、PHP与XMIL...
Session、图形图像处理技术、文件系统、面向对象、PHP加密技术、MySQL数据 库基础、phpMyAdmin图形化管理工具、PHP操作MySQL数据库、ADODB类库、Zend Framework框架、Smarty模板技术、PHP与XML技术、PHP与Ajax...
"PHP网站加密技术及其应用" PHP 网站加密技术是指使用 PHP 语言来实现数据加密的技术,并将其应用于网站安全中。随着网络技术的发展,数据加密在企业信息网络中的应用越来越广泛。PHP 提供了多种内置加密函数,如 ...
包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串...PHP加密技术、MySQL数据库基础、phpMyAdmin图形化管理工具、PHP操作MySQL数据库、PDO数据库抽象层、ThinkPHP框架、Smarty模板技术、PHP与XML...
该程序采用了先进的ZEN和PHP加密技术,提升了系统的安全性,防止了恶意攻击和数据泄露,确保用户的数据得到保护。 1. PHP语言:PHP是一种广泛使用的开源脚本语言,特别适合于Web开发,可以嵌入到HTML中。它的语法...
包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串...PHP加密技术、MySQL数据库基础、phpMyAdmin图形化管理工具、PHP操作MySQL数据库、ADODB类库、Zend Framework框架、Smarty模板技术、PHP与XML...
由于你提到这些是由国外大牛制作,且算法未知,这暗示了它们可能采用了高级或定制的加密技术。 1. **PHP源码加密的重要性**: - **知识产权保护**:源码是开发者的心血,加密可以防止未经许可的复制和使用。 - **...
此外,市面上也有一些专门的PHP加密工具,如 ionCube、Zend Guard等,它们提供了强大的加密功能,可以有效地保护PHP代码。 PHP在线加密平台则提供了一种便捷的方式来进行PHP文件加密。用户无需下载安装额外的软件,...
包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、PHP与JavaScript交互...PHP加密技术、My SQL数据库基础、php My Admin图形化管理工具、PHP操作...
总的来说,微盾PHP加密专家是一款面向PHP开发者的实用工具,它通过加密和混淆技术,帮助保护源代码的知识产权,防止未经授权的使用和修改。在开发过程中,合理利用这类工具,可以为您的代码穿上一层坚固的“防护盾”...
PHP加密技术,MySQL数据库基本操作,phpMyAdmin图形化管理工具,使用MySQL函数操作数据库,ADODB类库,程序调试与错误处理,XML技术,Ajax技术,Smarty模板技术,博客管理系统,应用Smarty模板开发电子商务平台,...
在IT领域,尤其是在网络安全和数据保护方面,加密技术起着至关重要的作用。本文将探讨PHP中常见的三种加密方法:MD5、Crypt以及SHA1,并详细解释它们的工作原理和使用方式。 首先,MD5(Message-Digest Algorithm 5...