您的位置:首页 > 编程语言 > PHP开发

PHP的一个加密算法

2015-09-22 14:03 543 查看
<?php
class Crypt
{
const CRYPT_KEY = '^_KeY';

//工具包禁止实例化
private function __construct(){}
private function Crypt(){}
/**
* 加密
* @param $str
* @return string
*/
public static function encrypt($str)
{
$block = mcrypt_get_block_size(MCRYPT_DES, MCRYPT_MODE_ECB);
$pad = $block - (strlen($str) % $block);
$str .= str_repeat(chr($pad), $pad);
$encryptText = mcrypt_encrypt(MCRYPT_DES, static::CRYPT_KEY, $str, MCRYPT_MODE_ECB);
return trim(base64_encode($encryptText));
}

/**
* 解密
* @param $str
* @return string
*/
public static function decrypt($str)
{
$cryptText = base64_decode($str);
$decryptText = mcrypt_decrypt(MCRYPT_DES, static::CRYPT_KEY, $cryptText, MCRYPT_MODE_ECB);
$pad = ord($decryptText[strlen($decryptText) - 1]);
return trim(substr($decryptText, 0, strlen($decryptText) - $pad));
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: