des加密是對稱加密中在互聯網應用的比較多的一種加密方式,php 透過mcrypt擴充庫來支援des加密,要在Php中使用des加密,需要先安裝mcrypt擴充庫
下面是加密解密的實例
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $key = "This is a very secret key";//密钥 $text = "Meet me at 11 o'clock behind the monument.";//需要加密的内容 echo ($text) . "\n"; $crypttext =base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv)); echo $crypttext . "\n";//加密后的内容 echo mcrypt_decrypt(MCRYPT_RIJNDAEL_256,$key,base64_decode($crypttext),MCRYPT_MODE_ECB,$iv);//解密后的内容
在AES加密演算法中通常會用到MCRYPT_RIJNDAEL_128、MCRYPT_RIJNDAEL_192、MCRYPT_RIJNDAEL_256三種,後面的128、192、256代表的是秘鑰(也就是使用多少個)的是MCRYPT_RIJNDAEL_128,那麼用這個演算法加密時秘鑰長度就是128bit的,例如 $key = 'fjjda0&9^$$#+*%$fada',是20個字符,那在實際加密的時候只用到前16個字符加密(16*8=128),不足128bit的php中會用'