Unity Addressables加密

臥槽,今天一打開Package Manager我發(fā)現(xiàn)了什么??。?!


image.png

我的天吶,等了這么久終于出了!居然單獨(dú)出了一個(gè)AddressablesCN用于加密,簡(jiǎn)直太貼心了。
此處感動(dòng)地留下了淚水,幸好項(xiàng)目還沒(méi)發(fā)布,分分鐘轉(zhuǎn)過(guò)來(lái)。

本貼就是感慨一下,順帶召喚小伙伴們,快去用AddressablesCN啊,簡(jiǎn)單易用,有了加密功能簡(jiǎn)直無(wú)懈可擊~

附帶官方使用說(shuō)明地址:https://ucgbucket.unitychina.cn/AssetStreaming/AddressablesCN.pdf

這里簡(jiǎn)述一下使用方法:
1.創(chuàng)建Group


image.png

2.如果要設(shè)置自己的密鑰:在工程里新建一個(gè)腳本,腳本內(nèi)容如下,命名你們隨意,設(shè)置一下密鑰,注意密鑰需要16位,正常ASCII碼均可,也就是普通數(shù)字大小寫字母都行

using System.IO;
using System.Security.Cryptography;
namespace UnityEngine.ResourceManagement.ResourceProviders
{
    public class MyAESStreamProcessor : IDataConverter
    {
        byte[] Key
        {
            get
            {
                return
System.Text.Encoding.ASCII.GetBytes("ABCDEFGHIJKLMNOP");//修改此處密鑰,需要16位,正常ASCII碼均可
            }
        }
        SymmetricAlgorithm m_algorithm;
        SymmetricAlgorithm Algorithm
        {
            get
            {
                if (m_algorithm == null)
                {
                    m_algorithm = new AesManaged();
                    m_algorithm.Padding = PaddingMode.Zeros;
                    var initVector = new byte[m_algorithm.BlockSize / 8];
                    for (int i = 0; i < initVector.Length; i++)
                        initVector[i] = (byte)i;
                    m_algorithm.IV = initVector;
                    m_algorithm.Key = Key;
                    m_algorithm.Mode = CipherMode.ECB;
                }
                return m_algorithm;
            }
        }

        public Stream CreateReadStream(Stream input, string id)
        {
            return new CryptoStream(input,
            Algorithm.CreateDecryptor(Algorithm.Key, Algorithm.IV),
            CryptoStreamMode.Read);
        }

        public Stream CreateWriteStream(Stream input, string id)
        {
            return new CryptoStream(input,
            Algorithm.CreateEncryptor(Algorithm.Key, Algorithm.IV),
            CryptoStreamMode.Write);
        }
    }
}

3.Group上的高級(jí)設(shè)置選一下加密方式


image.png

用起來(lái)真簡(jiǎn)單,給AddressablesCN點(diǎn)贊~


在實(shí)際項(xiàng)目使用中發(fā)現(xiàn)他會(huì)報(bào)錯(cuò),然后加載半天后Addressables報(bào)空物體,排查了一下,發(fā)現(xiàn)所有的Group都得選同一個(gè)加密方式,尤其是默認(rèn)的Group別忘了選~


2020.1.29更新
好吧我又回來(lái)了,我收回以上的贊揚(yáng)。
實(shí)際使用的時(shí)候發(fā)現(xiàn)AddressablesCN會(huì)在啟動(dòng)程序的時(shí)候卡頓很久,造成了大量的GC


image.png

默默換回了Addressables。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評(píng)論 19 139
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂(lè)有人憂愁,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,831評(píng)論 28 54
  • 信任包括信任自己和信任他人 很多時(shí)候,很多事情,失敗、遺憾、錯(cuò)過(guò),源于不自信,不信任他人 覺得自己做不成,別人做不...
    吳氵晃閱讀 6,361評(píng)論 4 8
  • 步驟:發(fā)微博01-導(dǎo)航欄內(nèi)容 -> 發(fā)微博02-自定義TextView -> 發(fā)微博03-完善TextView和...
    dibadalu閱讀 3,396評(píng)論 1 3
  • 回這一趟老家,心里多了兩個(gè)疙瘩。第一是堂姐現(xiàn)在談了一個(gè)有婦之夫,在她的語(yǔ)言中感覺,她不打算跟他有太長(zhǎng)遠(yuǎn)的計(jì)劃,這讓...
    安九閱讀 3,647評(píng)論 2 4

友情鏈接更多精彩內(nèi)容