在PHP语言中实现手机加密解密算法代码示例

2023-06-01 00:00:00 示例 算法 加密解密

今天有个功能需要用到对手机的加密解密的功能,实现完记录一下。

我这只针对手机号,如果你有别的需求可以根据自己的需求进行代码调整。


手机加密算法class 示例代码:

/**
 * 手机加密算法
 */
class HhrCrypt {
     // 测试使用
    const KEY = 'FtVPGyv6Cv6oTuZF';
    const IV = 'zcQxNGllwB6AyH5B';  
   
    public static function encrypt($content)
    {
        $key = self::KEY;
        $content = $content . "\0\0\0\0\0";
        $iv = self::IV;
       
        $data = openssl_encrypt($content, 'aes-128-cbc', $key, OPENSSL_ZERO_PADDING, $iv);
           
        $error = openssl_error_string();
       
        if($error) {
            return false;
        }
       
        return $data;
    }
   
    public static function decrypt($encryData)
    {
        $key = self::KEY;
        $iv = self::IV;
       
        $data = openssl_decrypt($encryData, 'aes-128-cbc', $key, OPENSSL_ZERO_PADDING, $iv);
        $data=substr($data,0,11);
       
        return $data;
    }
}

调用测试:

    /**
     * @return \Dingo\Api\Http\Response
     */
    public function ampapi()
    {
        $sjjm = new HhrCrypt();
        //手机加密
        $a = $sjjm->encrypt(13430372777);
        echo $a;
        //手机解密
        $b = $sjjm->decrypt($a);
       
        dd($b);

看看效果 :

手机加密解密.png

相关文章