首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Unity网络交互☀️加密验证

Unity网络交互☀️加密验证

作者头像
星河造梦坊官方
发布2024-08-15 18:16:04
发布2024-08-15 18:16:04
3310
举报

🟥 目标:

数据在网络上,可能会被拦截改动,因此我们需要加密、对比有没有被改动,确定我们发来的数据是原数据。

🟧 MD5验证

1️⃣ 原理:

客户端A要发送数据给客户端B,线下约定好一个密钥

网络上,客户端A把 数据MD5(数据+密钥)算出来的验证码 发给客户端B。

客户端B接收到数据后,算出MD5验证码:接收到的数据+密钥,将该验证码与发来的验证码做对比。

若数据没被修改,算出的验证码会一致。

2️⃣ 代码

代码语言:javascript
复制
    private void Start()
    {
        string data = "hello world";    //数据
        string key = "123";             //秘钥
        Md5Sum(data + key);             // 返回MD5验证码
    }

    public static string Md5Sum(string strToEncrypt)
    {
        // 将需要加密的字符串转为byte数组
        byte[] bs = Encoding.UTF8.GetBytes(strToEncrypt);

        // 创建md5 对象
        System.Security.Cryptography.MD5 md5;
        md5 = System.Security.Cryptography.MD5.Create();

        // 生成16位的二进制校验码
        byte[] hashBytes = md5.ComputeHash(bs);

        // 转为32位字符串
        string hashString = "";
        for (int i = 0; i < hashBytes.Length; i++)
        {
            hashString += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, '0');
        }

        return hashString.PadLeft(32, '0');
    }

大家还有什么问题,欢迎在下方留言!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🟥 目标:
  • 🟧 MD5验证
    • 1️⃣ 原理:
    • 2️⃣ 代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档