最新消息: 新版网站上线了!!!

PHP 加密解密函数

//加密字符串

function encrypt($encrypt,$key="key") {

    $iv = mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB ), MCRYPT_RAND );

    $passcrypt = mcrypt_encrypt ( MCRYPT_RIJNDAEL_256, $key, $encrypt, MCRYPT_MODE_ECB, $iv );

    $encode = base64_encode ( $passcrypt );

    return $encode;

}

 

//解密字符串

function decrypt($decrypt,$key="key") {

    $decoded = base64_decode ( $decrypt );

    $iv = mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB ), MCRYPT_RAND );

    $decrypted = mcrypt_decrypt ( MCRYPT_RIJNDAEL_256, $key, $decoded, MCRYPT_MODE_ECB, $iv );

    return $decrypted;

}

1mcrypt简单介绍编辑

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应用的

 

转载请注明:谷谷点程序 » PHP 加密解密函数