PHP 加密解密

这里有道面试题,大家看看

202004121007.png

<?php
// 参考写的加密函数
function encrypt($data,$key) {
    $len    = strlen($data);
    $x      = 0;
    $key    = md5($key);
    $l      = strlen($key);
    $char   = '';
    for ($i = 0; $i <$len; $i++) {
        if ($x == $l) $x = 0;
        $char .= chr(ord($data[$i]) + ord($key[$x]));
        $x++;
    }
    return base64_encode($char);
}

// 自己写的解密函数
function decrypt($data,$key) {
    $data   = base64_decode($data);
    $len    = strlen($data);
    $x      = 0;
    $key    = md5($key);
    $l      = strlen($key);
    $char   = '';
    for ($i = 0; $i <$len; $i++) {
        if ($x == $l) $x = 0;
        $char .= chr(ord($data[$i]) - ord($key[$x]));
        $x++;
    }
    return $char;
}