C#摘记二
常用方法
/// <summary>
/// 随机数
/// </summary>
/// <param name="Length">长度</param>
/// <returns></returns>
public static string GenerateRandomNumber(int Length)
{
StringBuilder newRandom = new(Length);
Random random = new();
for (int i = 0; i < Length; i++)
{
newRandom.Append(Constants.NUMBERS[random.Next(10)]);
}
return newRandom.ToString();
}
///<summary>
/// 随机字符串
///</summary>
/// <param name="length">长度</param>
///<returns></returns>
public static string GetRandomString(int length)
{
byte[] b = new byte[32];
RandomNumberGenerator.Create().GetBytes(b);
Random random = new(BitConverter.ToInt32(b, 0));
string str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
string returnStr = string.Empty;
for (int i = 0; i < length; i++)
{
returnStr += str.Substring(random.Next(0, str.Length - 1), 1);
}
return returnStr;
}
/// <summary>
/// SHA256转换
/// </summary>
/// <param name="str">字符串</param>
/// <returns></returns>
public static string GenerateSHA256(string str)
{
using SHA256 sHA256 = SHA256.Create();
byte[] buffer = Encoding.UTF8.GetBytes(str);
byte[] newBuffer = sHA256.ComputeHash(buffer);
StringBuilder sb = new();
for (int i = 0; i < newBuffer.Length; i++)
{
sb.Append(newBuffer[i].ToString("x2", Constants.CurrentCultureInfo));
}
return sb.ToString();
}
/// <summary>
/// 获取时间戳
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static string TimeStamp(DateTime dateTime)
{
return ((dateTime.ToUniversalTime().Ticks - 621355968000000000) / 10000000).ToString(Constants.CurrentCultureInfo);
}
/// <summary>
/// AES 加密
/// </summary>
/// <param name="str">明文</param>
/// <param name="aesKey">密钥</param>
/// <returns></returns>
public static string AesEncrypt(string str, string aesKey)
{
string data = string.Empty;
if (!string.IsNullOrEmpty(str) && !string.IsNullOrEmpty(aesKey))
{
byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);
Aes aes = Aes.Create();
aes.Key = Encoding.UTF8.GetBytes(aesKey);
byte[] resultArray = aes.EncryptEcb(toEncryptArray, PaddingMode.PKCS7);
data = Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
return data;
}
/// <summary>
/// AES 解密
/// </summary>
/// <param name="str">密文</param>
/// <param name="aesKey">密钥</param>
/// <returns></returns>
public static string AesDecrypt(string str, string aesKey)
{
string data = string.Empty;
if (!string.IsNullOrEmpty(str) && !string.IsNullOrEmpty(aesKey))
{
byte[] toEncryptArray = Convert.FromBase64String(str);
Aes aes = Aes.Create();
aes.Key = Encoding.UTF8.GetBytes(aesKey);
byte[] resultArray = aes.DecryptEcb(toEncryptArray, PaddingMode.PKCS7);
data = Encoding.UTF8.GetString(resultArray);
}
return data;
}
/// <summary>
/// 写文件导到磁盘(异步)
/// </summary>
/// <param name="stream">数据流</param>
/// <param name="path">文件路径</param>
/// <returns></returns>
public static async Task WriteFileAsync(Stream stream, string path)
{
using FileStream fileStream = new(path, FileMode.Create, FileAccess.Write, FileShare.Write);
await stream.CopyToAsync(fileStream);
fileStream.Close();
}
/// <summary>
/// 压缩图片
/// </summary>
/// <param name="filePath">文件路径</param>
/// <param name="height">图像高度</param>
/// <returns></returns>
public static Image CompressPictures(string filePath, int height)
{
Image image = Image.Load(filePath);
if (height < image.Height)
{
image.Mutate(item => item.Resize(0, height));
}
return image;
}
窗体关闭
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
if (e.CloseReason == CloseReason.UserClosing)
{
if (MessageBox.Show("您确认退出吗?", "退出确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
e.Cancel = true;
return;
}
}
}
catch (Exception ex)
{
}
}
根据进程名称关闭
public static void KillProcess(string Pname)
{
foreach (var v in Process.GetProcessesByName(Pname)
{
v.Kill();
}
}
删除时间范围外log文件
private static void DeleteOldLogs()
{
try
{
// string s =Directory.GetCurrentDirectory();
var path = Application.StartupPath + "\\ErrLog";
if (!Directory.Exists(path)) return;
var files = Directory.GetFiles(path);
if (files.Length <= 0) return;
foreach (var file in files)
{
var dt = new FileInfo(file);
if ((DateTime.Now.Date - dt.CreationTime.Date).TotalDays > 15)
dt.Delete();
}
}
catch (Exception ex)
{
LogHelper.Log("DeleteOldLogs", ex.ToString());
}
}
本文来自博客园,作者:码农阿亮,转载请注明原文链接:https://www.cnblogs.com/wml-it/p/16427396.html
技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!
开源库地址,欢迎点亮:
GitHub:https://github.com/ITMingliang
Gitee: https://gitee.com/mingliang_it
GitLab: https://gitlab.com/ITMingliang
建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。