<?php

namespace app\common\util;
class Encryption
{
    /**
     * 生成token
     * @param int $id
     * @return string
     */
    public function createToken(int $id): string
    {
        $expireDays = 7;//过期时间,单位天
        //token:  md5([用户名][当前时间])|[用户id]|[过期时间]
        $time = (time() + 86400 * $expireDays);
        $signKey = env('TOKEN_KEY');
        $sign = md5($signKey . $id . $time);
//        var_dump($signKey);
        return base64_encode($sign . "|" . $id . "|" . $time);
    }

    /**
     * 获取token
     * @return array|mixed|string|null
     */
    public function getToken(): mixed
    {
        $token = null;
        if (!$token) {
            $token = request()->header("token");
        }
        if (!$token) {
            $token = input("token");
        }
        return $token;
    }
}