unity功能开发——实名认证

举报
爱上游戏开发 发表于 2022/07/02 22:14:22 2022/07/02
【摘要】 推荐阅读:  我的CSDN 我的博客园 QQ群:704621321 我的个人博客 前言 首先给大家介绍一下游戏实名认证。 网游实名制...

推荐阅读:

前言

首先给大家介绍一下游戏实名认证。
网游实名制全称网络游戏实名制,是针对网络游戏的,玩家玩网络游戏时,需要输入真实的身份信息的制度。
要求用户使用有效身份证件实名注册,并保护用户注册信息,不得为使用游客模式”登录的用户提供游戏内充值或者消费服务。其主要目的是:为了防止沉迷游戏。

问题

因此,对于一个游戏来说,实名认证功能也是必不可少的,那么,你知道怎么来实现这个功能吗?

解决

1.首先需要有个界面来展示实名认证

我们创建一个Text来作为它的标题,并赋值文本为"实名认证中心",接着创建两个InputField对象,用作姓名和身份证信息输入。
最后创建两个按钮,分别为"取消"按钮和"认证"按钮。到此,界面已经创建完成了,如下:
在这里插入图片描述

拼接界面只完成了该系统的冰山一角,接下来,我们要正式开始认证功能实现了。

2.请求认证

在游戏开发中,通常我们实现实名认证是借助SDK接口来实现的,大致流程就是将实名认证需要用到的一些数据按照某种格式拼接成一个http地址,然后使用WWW去请求该地址,请求后会返回认证结果。根据不同返回结果对应处理。
通常我们会有一个data字符串,是由姓名,身份证号等信息拼接而成的。由于这个data字段存放的信息很重要,为了保护玩家的隐私,通常我们需要经过MD5将它加密成另一个字符串。

    /// 对字符串MD5加密
    public static string md5(string source)
    {
        MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
		///转换为UTF8编码的字节数组
        byte[] data = Encoding.UTF8.GetBytes(source);
		///计算哈希值
        byte[] md5Data = md5.ComputeHash(data, 0, data.Length);
        md5.Clear();

        string destString = "";
        for (int i = 0; i < md5Data.Length; i++)
        {
            destString += System.Convert.ToString(md5Data[i], 16).PadLeft(2, '0');
        }
        destString = destString.PadLeft(32, '0');
        return destString;
    }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

3.返回结果处理
假设

resp = 1:认证成功
resp = 2:认证失败(改账户绑定账号个数已达最大值)
resp = 3:认证失败(输入信息错误)

  
 
  • 1
  • 2
  • 3

根据实名认证的返回结果,我们只需要特殊处理返回成功情况。
返回成功处理:
1.隐藏实名认证入口;
广播通知关闭入口,使用SetActive(入口,false)隐藏入口按钮
2.全局变量标记已实名认证;
通常这里会使用SDK的一个变量来标记
3.关闭认证界面

文章来源: unity3d.blog.csdn.net,作者:爱上游戏开发,版权归原作者所有,如需转载,请联系作者。

原文链接:unity3d.blog.csdn.net/article/details/108628815

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。