유니티 네트워크의 상호 작용 슈 암호화 된 인증

목표 :

네트워크에있는 데이터는 우리가 암호화를 필요로하므로, 대비가 변경되지 않은, 변화를 차단해야합니다 우리가 원래의 데이터로 데이터를 보내도록 할 수있다.

 

A, MD5 검증

1, 원칙 :

클라이언트 B로 데이터를 전송하는 클라이언트 A는, 라인 잘 합의 된 키를 .

네트워크에서, 클라이언트 A가 데이터 MD5 (키 + 데이터) 인증 코드를 계산 클라이언트에 B.

: 클라이언트가 수신 한 후, 데이터 B는 MD5 인증 코드를 계산되고 , 수신 데이터 + 및 인증 코드 코드가 전송이 비교를 수행.

데이터가 수정되지 않은 경우에, 상기 계산 된 인증 코드는 동일 할 것이다.

2, 코드

    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');
    }

 

게시 된 320 개 원래 기사 · 원 찬양 77 · 전망 170 000 +

추천

출처blog.csdn.net/weixin_38239050/article/details/103307230