Unity Android 获取签名MD5

作者: 2b75747cf703 | 来源:发表于2017-05-16 08:54 被阅读919次

懂得搞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;
    }

相关文章

网友评论

    本文标题:Unity Android 获取签名MD5

    本文链接:https://www.haomeiwen.com/subject/rngkxxtx.html