This commit is contained in:
Putoo
2026-07-03 18:16:47 +08:00
parent 5eb0bfd792
commit ea32e7046e
29 changed files with 390 additions and 75 deletions

View File

@@ -0,0 +1,47 @@
namespace Application.Domain;
public static class UserKeyTool
{
public static async Task<string> GetThickenData(string userId, params string[] data)
{
string key = await GetUserKey(userId);
return GetThickenDataByUserKey(key, data);
}
public static string GetThickenDataByUserKey(string key, params string[] data)
{
string _data = string.Join("", data);
return EncryptAssist.Md5Encryption($"{key}_{_data}").ToLower();
}
public static async Task<bool> CheckUserThickenData(string userId, string sign, params string[] data)
{
string key = await GetUserKey(userId);
string _sign = GetThickenDataByUserKey(key, data);
await ResetUserKey(userId);
return sign.ToLower() == _sign;
}
public static async Task<string> GetUserKey(string userId)
{
var key = string.Format(UserCache.BaseCacheKey, "UserKey");
var redis = App.GetService<IRedisCache>();
if (await redis.HExistsHashAsync(key, userId))
{
return await redis.GetHashAsync<string>(key, userId);
}
string data = StringAssist.RandomString(12);
await redis.AddHashAsync(key, userId, data);
return data;
}
private static async Task ResetUserKey(string userId)
{
string data = StringAssist.RandomString(12);
var key = string.Format(UserCache.BaseCacheKey, "UserKey");
var redis = App.GetService<IRedisCache>();
await redis.AddHashAsync(key, userId, data);
}
}