GQ_Communicate/GQ_URP/GQ/Assets/script/加密/KeyGenerator.cs

35 lines
1.0 KiB
C#

using System;
using System.Security.Cryptography;
/// <summary>
/// 生成密钥
/// </summary>
public class KeyGenerator
{
/// <summary>
/// 根据ID与当前日期生成密钥
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static string GenerateKey(string id)
{
// 将ID和当前日期组合成一个字符串
//string combinedString = id + DateTime.Now.ToString("yyyyMMdd");
string combinedString = id + DateTime.Now.ToString("yyyyMMddHHmmss");
// 将字符串转换成字节数组
byte[] combinedBytes = System.Text.Encoding.UTF8.GetBytes(combinedString);
// 使用SHA256哈希算法生成密钥
using (var sha256 = SHA256.Create())
{
byte[] hashBytes = sha256.ComputeHash(combinedBytes);
// 将字节数组转换成字符串表示形式作为最终的密钥
string key = BitConverter.ToString(hashBytes)/*.Replace("-", "")*/.ToLower();
return key;
}
}
}