blob: 0cd66ac5b8af4a9c03bb72fea6edca5e9008fbd0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
namespace ShareGuard.Web.DbModels;
public class Link
{
private static readonly string _tokenChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
private static readonly Random _random = new();
public int Id { get; set; }
public string Token { get; set; }
public string Name { get; set; }
public string IpAddress { get; set; }
public string? PeerPublicKey { get; set; }
public static string GenerateToken(Database database)
{
var token = "";
while (token == "" || database.Links.Any(link => link.Token == token))
{
token = "";
for (var i = 0; i < 10; i++) token += _tokenChars[_random.Next(_tokenChars.Length)];
}
return token;
}
}
|