PHP简易版加密解密

/**
 * @param $skey 加密/解密 使用的密文
 * @param $string 所要加密的字符
 * @param $decrypt true 1加密 false 0解密 
 * @return mixed|string 
 */
function encryptDecrypt($skey, $string, $decrypt)
{
    if ($decrypt) {
        $strArr  =  str_split ( base64_encode ( $string ));
        $strCount  =  count ( $strArr );
        foreach ( str_split ( $skey ) as  $key  =>  $value )
            $key  <  $strCount  &&  $strArr [ $key ].= $value ;
        return  str_replace (array( '=' ,  '+' ,  '/' ), array( 'O0O0O' ,  'o000o' ,  'oo00o' ),  join ( '' ,  $strArr ));
    } else {
        $strArr  =  str_split ( str_replace (array( 'O0O0O' ,  'o000o' ,  'oo00o' ), array( '=' ,  '+' ,  '/' ),  $string ),  2 );
        $strCount  =  count ( $strArr );
        foreach ( str_split ( $skey ) as  $key  =>  $value )
            $key  <=  $strCount   && isset( $strArr [ $key ]) &&  $strArr [ $key ][ 1 ] ===  $value  &&  $strArr [ $key ] =  $strArr [ $key ][ 0 ];
        return  base64_decode ( join ( '' ,  $strArr ));
    }
}
Last modification:June 3rd, 2019 at 11:12 am
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment