mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-14 20:40:49 +08:00
auth key
This commit is contained in:
@@ -276,6 +276,27 @@ class TorrentRepository extends BaseRepository
|
||||
return md5($user['passkey'] . date('Ymd') . $user['id']);
|
||||
}
|
||||
|
||||
public function encryptAuthKey($id, $user): string
|
||||
{
|
||||
$key = $this->getEncryptAuthkeyKey($user);
|
||||
return (new Hashids($key))->encode($id);
|
||||
}
|
||||
|
||||
public function decryptAuthKey($downHash, $user)
|
||||
{
|
||||
$key = $this->getEncryptAuthkeyKey($user);
|
||||
return (new Hashids($key))->decode($downHash);
|
||||
}
|
||||
|
||||
private function getEncryptAuthkeyKey($user)
|
||||
{
|
||||
if (!is_array($user) || empty($user['passkey']) || empty($user['id'])) {
|
||||
$user = User::query()->findOrFail(intval($user), ['id', 'passkey'])->toArray();
|
||||
}
|
||||
//down hash is relative to user passkey
|
||||
return md5($user['passkey'] . date('Ymd') . $user['id']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user