Unity技术分享unity3D技术分享Unity教程合集

Unity Android 获取签名MD5

2017-05-16  本文已影响919人  2b75747cf703

懂得搞Java的人不一定能搞定C#,所以在Unity游戏层加一个签名验证对防止二次打包还是有点用的。

    public static string GetSignatureMD5Hash()
    {
        var player = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        var activity = player.GetStatic<AndroidJavaObject>("currentActivity");
        var PackageManager = new AndroidJavaClass("android.content.pm.PackageManager");
        
        var packageName = activity.Call<string>("getPackageName");
        
        var GET_SIGNATURES = PackageManager.GetStatic<int>("GET_SIGNATURES");
        var packageManager = activity.Call<AndroidJavaObject>("getPackageManager");
        var packageInfo = packageManager.Call<AndroidJavaObject>("getPackageInfo", packageName, GET_SIGNATURES);
        var signatures = packageInfo.Get<AndroidJavaObject[]>("signatures");
        if(signatures != null && signatures.Length > 0)
        {
            byte[] bytes = signatures[0].Call<byte[]>("toByteArray");
            
            return FileUtility.GetMD5Hash(bytes);
        }

        return null;
    }
上一篇 下一篇

猜你喜欢

热点阅读