73 lines
2.2 KiB
C#
73 lines
2.2 KiB
C#
namespace YLErp.Helpers
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static class DataHelper
|
|
{
|
|
/// <summary>
|
|
/// 将数字转换成字母序号
|
|
/// </summary>
|
|
public static string ConvertToLetter(this int index)
|
|
{
|
|
const byte suffix_Start = 65;
|
|
const byte suffix_Range = 90 - suffix_Start + 1;
|
|
var result = "";
|
|
|
|
var count = (index / suffix_Range) - 1;
|
|
if (count >= 0)
|
|
{ result = ConvertToLetter(count); }
|
|
result += ((char)(suffix_Start + (index % suffix_Range))).ToString();
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成验证码
|
|
/// </summary>
|
|
public static string GenerateCheckCode(int codeCount)
|
|
{
|
|
var rep = 0;
|
|
var str = string.Empty;
|
|
var num2 = DateTime.Now.Ticks + rep;
|
|
rep++;
|
|
var random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> rep)));
|
|
for (var i = 0; i < codeCount; i++)
|
|
{
|
|
char ch;
|
|
var num = random.Next();
|
|
if ((num % 2) == 0)
|
|
{
|
|
ch = (char)(0x30 + ((ushort)(num % 10)));
|
|
}
|
|
else
|
|
{
|
|
ch = (char)(0x41 + ((ushort)(num % 0x1a)));
|
|
}
|
|
str += ch.ToString();
|
|
}
|
|
return str;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 密码加密
|
|
/// </summary>
|
|
public static string EncryptPassword(string salt, string password)
|
|
{
|
|
var sha = System.Security.Cryptography.SHA1.Create();
|
|
var byteResult = sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(salt + password));
|
|
return BitConverter.ToString(byteResult);
|
|
}
|
|
|
|
public static T DeepCopyObject<T>(T orginObj)
|
|
{
|
|
if (orginObj == null)
|
|
{
|
|
return default(T);
|
|
}
|
|
var orginObjJson = JsonHelper.Serialize(orginObj);
|
|
var newObj = JsonHelper.Parse<T>(orginObjJson);
|
|
return newObj;
|
|
}
|
|
}
|
|
}
|