Unity加密(Sha256方式加密)
生活随笔
收集整理的這篇文章主要介紹了
Unity加密(Sha256方式加密)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之前在項目中涉及到了加密處理方面的知識,在這里做個記錄,加密方式采取的是Sha256方式,是比較常用的加密,代碼如下:
public void Save(){Debug.Log(user.text+":"+ pass.text);if (user.text == null || pass.text == null ||user.text == string.Empty || pass.text == string.Empty)return;string nonce = Nonce(16, true, false, true, false, "123456789ABCDEF");//Thread.Sleep(100);string cnonce = Nonce(16, true, false, true, false, "123456789ABCDEF");string passWord = Sha256(nonce + Sha256(pass.text) + cnonce);endUrl = "?username=" + user.text + "&password=" + passWord+ "&nonce=" + nonce + "&cnonce=" + cnonce;Debug.Log(_url + endUrl);StartCoroutine(PostForUnity(_url + endUrl,"{}"));//Debug.Log(passWord);}/// <summary>/// 256加密/// </summary>/// <param name="pass">密碼</param>/// <returns>返回加密后的密碼</returns>public string Sha256(string pass){if (pass == null || pass == string.Empty) { PassErrorUI.SetActive(true); return null; } byte[] buffer = System.Text.Encoding.UTF8.GetBytes(pass);byte[] hash = SHA256Managed.Create().ComputeHash(buffer);StringBuilder builder = new StringBuilder();for (int i = 0; i < hash.Length; i++){builder.Append(hash[i].ToString("X2"));}// Debug.Log("一次:" + builder.ToString().ToUpper());return builder.ToString().ToUpper();}/// <summary>/// 隨機16位/// </summary>/// <param name="length">長度</param>/// <param name="useNum">是否有數字</param>/// <param name="useLow">是否有小寫</param>/// <param name="useUpp">是否有大寫</param>/// <param name="useSpe">是否有特殊字符</param>/// <param name="custom">隨機碼</param>/// <returns>返回隨機數</returns>public string Nonce(int length, bool useNum, bool useLow, bool useUpp, bool useSpe, string custom){byte[] b = new byte[4];new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(b);System.Random r = new System.Random(BitConverter.ToInt32(b, 0));string s = string.Empty;string value = custom;if (useNum == true) value += "0123456789";if (useLow == true) value += "abcdefghijklmnopqrstuvwxyz";if (useUpp == true) value += "ABCDEF";if (useSpe == true) value += "!\"#$%&'()+,-./:;<=>?@[\\]^_~{|}`";for (int i = 0; i < length; i++){s += value.Substring(r.Next(0, value.Length - 1), 1);}// Debug.Log("s:" + s);return s;}
單純的sha256因為很常用所以破解起來會容易些,所以在這里我加了一個16位的隨機數,增強了加密方式,簡單就到這里吧,沒有什么好說的,主要是詳細看看腳本,理解腳本。
有疑問的話可以評論留言,也可以加群 QQ:853164080??
Over!
總結
以上是生活随笔為你收集整理的Unity加密(Sha256方式加密)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++学习心得:字符串转换(to_str
- 下一篇: c#应用程序如何添加弹出式广告功能