PHP中几种加密形式

时间:2024-03-04 18:48:46

1.Md5加密和Crypt都是单向加密:

登陆时把登录密码转为md5值,然后和数据库中的进行比较。

 

其中crypt中的盐值支持多种:
以CRYPT_STD_DES是以/0-9A-Za-z/中的两个字符为盐值,如果是以CRYPT_MD5中以$1$开始的12个字符的字符串盐值
例如:crypt(\'imooc\',\'this is zmj\')就会只取th为盐值和加密后的imooc拼接。
 
2.sha1加密算法:也是单向加密

3.URL编码加密技术:

区别:urlencode把空格变成了+,经过rawurlencode是把空格变成了%20

url编码用途:可以编码汉字,还可以针对url传参数时,参数的值为abd&dff形式
 
4.

这样就可以输出图片
 
总结:

 

 

 //加密字符串

 1 function encrypt($encrypt,$key="key") {
 2 
 3     $iv = mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB ), MCRYPT_RAND );
 4 
 5     $passcrypt = mcrypt_encrypt ( MCRYPT_RIJNDAEL_256, $key, $encrypt, MCRYPT_MODE_ECB, $iv );
 6 
 7     $encode = base64_encode ( $passcrypt );
 8 
 9     return $encode;
10 
11 }

 

//解密字符串

1 function decrypt($decrypt,$key="key") {
2     $decoded = base64_decode ( $decrypt );
3     $iv = mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB ), MCRYPT_RAND );
4     $decrypted = mcrypt_decrypt ( MCRYPT_RIJNDAEL_256, $key, $decoded, MCRYPT_MODE_ECB, $iv );
5     return $decrypted;
6 
7 }

 

1.mcrypt简单介绍

PHP程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障。PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展库McryptMhash

其中,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。

mcrypt 是 php 里面重要的加密支持扩展库,linux环境下:该库在默认情况下不开启。window环境下:PHP>=5.3,默认开启mcrypt扩展。

 

2.支持的算法和加密模式

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_MODE_来表示,如下面Mcrypt应用的