src/YL.Utils/Security/SecurityUtil.cs
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Security.Cryptography;
using System.Text;
using YL.Utils.Check;
using YL.Utils.Extensions;
namespace YL.Utils.Security
{
public static class SecurityUtil
{
public static string ToMd5(this string str)
{
CheckNull.ArgumentIsNullException(str, nameof(str));
using (var md5Hash = MD5.Create())
{
var data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(str));
//for (var i = 0; i < data.Length; i++)
//{
// sBuilder.Append(data[i].ToString("x2"));
//}
return data.ToHexString();
}
}
public static string ToMd52(this string str)
{
CheckNull.ArgumentIsNullException(str, nameof(str));
using (var md5Hasher = MD5.Create())
{
var data = md5Hasher.ComputeHash(Encoding.UTF8.GetBytes(str));
return data.ToHexString();
}
}
public static string ToSha512(this string str)
{
CheckNull.ArgumentIsNullException(str, nameof(str));
using (var shaM = SHA512.Create())
{
//SHA512 shaM = new SHA512Managed();
var result = shaM.ComputeHash(str.ToBytes());
return result.ToHexString();
}
}
public static string ToSha1(this string str)
{
CheckNull.ArgumentIsNullException(str, nameof(str));
using (var shaM = SHA1.Create())
{
//SHA1 shaM = new SHA1Managed();
var result = shaM.ComputeHash(str.ToBytes());
return result.ToHexString();
}
}
public static string ToHexString(this byte[] bytes)
{
var sBuilder = new StringBuilder();
foreach (var t in bytes)
{
后面还有 6 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。