F/Base/Rand.cs
(开头部分) 6KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace F.Base
{
/// <summary>
/// 随机函数
/// </summary>
public class Rand
{
#region 内部函数
/// <summary>
/// 为了防止随机数重复
/// </summary>
/// <returns></returns>
private static int GetRandomSeed()
{
byte[] bytes = new byte[4];
System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider();
rng.GetBytes(bytes);
return BitConverter.ToInt32(bytes, 0);
}
#endregion
/// <summary>
/// 生成唯一标识
/// </summary>
/// <param name="i">
/// (1):返回【当前时间】的 yyyyMMddHHmmssffff 加 4位0-9随机数 = 21位唯一数字字符,
/// (2):Guid.NewGuid(),全局绝对唯一标识,极小几率重复
/// (3):(长度80位)永久性唯一,16进制,采用Guid.NewGuid()+DES加密,密钥为:当前时间+4位在(0.00001毫秒内上下不重复)的随机数
/// </param>
/// <returns></returns>
public static string TimeId(int i)
{
if (i == 1)
{
string km = DateTime.Now.ToString("yyyyMMddHHmmssffff");
km += GetRandomCode(4, "0,1,2,3,4,5,6,7,8,9");
return km;
}
else if (i == 2)
{
return Guid.NewGuid().ToString();
}
else
{
string key = DateTime.Now.ToString("yyyyMMddHHmmssffff") + Str(4);
string str = key.FAES(1, "", Guid.NewGuid().ToString());
return str.ToUpper().Replace("_", "").Replace("*", "").Replace("%", "");
}
}
/// <summary>
/// 生成随机数字
后面还有 98 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
