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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。