之前用des加密对接Java,在网上找了一个php版本,测试后没问题。key=$key;}functionencrypt($input){$size=mcrypt_get_block_size('des','ecb');$input=$this->pkcs5_pad($input,$size);$key=$this->key;$td=mcrypt_module_open('des','','ecb','');$iv=@mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_RAND);@mcrypt_generic_init($td,$key,$iv);$data=mcrypt_generic($td,$input);mcrypt_generic_deinit($td);mcrypt_module_close($td);$data=$this->byteArr2HexStr($this->getBytes($data));返回$data;}functiondecrypt($encrypted){$encrypted=$this->array2str($this->hexStr2ByteArr($encrypted));$key=$this->key;$td=mcrypt_module_open('des','','ecb','');//使用MCRYPT_DES算法,cbc模式$iv=@mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_RAND);$ks=mcrypt_enc_get_key_size($td);@mcrypt_generic_init($td,$key,$iv);//初始处理$decrypted=mdecrypt_generic($td,$encrypted);//解密mcrypt_generic_deinit($td);//结束mcrypt_module_close($td);$y=$this->pkcs5_unpad($decrypted);返回$y;}functionpkcs5_pad($text,$blocksize){$pad=$blocksize-(strlen($text)%$blocksize);返回$text.str_repeat(chr($pad),$pad);}functionpkcs5_unpad($text){$pad=ord($text{strlen($text)-1});如果($pad>strlen($text))返回false;如果(strspn($text,chr($pad),strlen($text)-$pad)!=$pad)返回false;returnsubstr($text,0,-1*$pad);}/***把string转换为ASCII码值数组,array2str是一个相互可逆的转换过程**@paramstring待转换字符串*@返回转换后的ASCII码值数组*/functiongetBytes($string){$bytes=array();对于($i=0;$i
