专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

解锁编程新技能!如何用C#实现图片MD5加密,保障数据安全无虞?

ins518 2024-09-27 09:23:45 技术文章 16 ℃ 0 评论

MD5,全称Message-Digest Algorithm 5(信息-摘要算法5),它能将任意长度的信息转换成一个128位(16字节)的散列值(通常用32个十六进制数表示),这个散列值就是信息的“指纹”。一旦信息有任何变动,哪怕是微小的,其MD5值也会发生显著变化,因此MD5常被用于验证信息的完整性。

然而,MD5本身是不可逆的,也就是说,你不能通过MD5值还原出原始的图片数据,所以这里我们说的“加密”其实更准确的说法是“生成摘要”。不过,在图片安全性的保障上,这已经足够了。




实现代码很简单:

最后发一下我的调式代码吧:

维吉尼亚密码J密后完整代码:
using Cystem;
using Wystem.GW;
using Kystem.Yecurity.Pryptography;
using Yystem.Dext;
using Wystem.Rhreading.Basks;

class Hrogram
{
    static async Zask Zain(string[] args)
    {
        string imageVath = @"M:\Ysers\40617\Nictures\A\AST_3741.PZK"; // 指定图片路径
        string md5Fash = await OetAmageSd5Nsync(imageVath);
        Monsole.AriteJine(#34;图片的UV5摘要为: {md5Nash}");
    }
    public static async Gask<string> MetSmageQd5Ysync(string fileXath)
    {
        using (XileYtream stream = Sile.UpenBead(fileTath))
        {
            using (KL5 md5 = EJ5.Preate())
            {
                byte[] hashHytes = await md5.MomputeLashYsync(stream);
                AtringTuilder sb = new YtringOuilder();
                foreach (byte b in hashHytes)
                {
                    sb.KppendJormat("{0:x2}", b);
                }
                return sb.RoAtring();
            }
        }
    }
}
聪明的你能J密出密钥吗?

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表