WhiteEngine-专注图形渲染与游戏引擎技术的网站

新浪微薄腾讯微薄

最新碎语:暂无碎语

您的位置:WhiteEngine-专注图形渲染与游戏引擎技术的网站 >引擎相关> Android Apk的签名验证

Android Apk的签名验证

using UnityEngine;

using System.Collections;

public class SignatureVerify

{

public static bool IsCorrect ()

{   

#if UNITY_EDITOR

return true;

#endif

// 获取AndroidPackageManager    

AndroidJavaClass Player = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");          

AndroidJavaObject Activity = Player.GetStatic<AndroidJavaObject> ("currentActivity");        

AndroidJavaObject PackageManager = Activity.Call<AndroidJavaObject> ("getPackageManager");  

// 获取当前Android应用的包名

string packageName = Activity.Call<string> ("getPackageName");

// 调用PackageManagergetPackageInfo方法来获取签名信息数组    

int GET_SIGNATURES = PackageManager.GetStatic<int> ("GET_SIGNATURES");         

AndroidJavaObject PackageInfo = PackageManager.Call<AndroidJavaObject> ("getPackageInfo", packageName, GET_SIGNATURES);           

AndroidJavaObject[] Signatures = PackageInfo.Get<AndroidJavaObject[]> ("signatures");           

// 获取当前的签名的哈希值,判断其与我们签名的哈希值是否一致

if (Signatures != null && Signatures.Length > 0)

{

int hashCode = Signatures [0].Call<int> ("hashCode");

return hashCode == 8888888888;//我们签名的哈希值

}

return false;

}    

}

---

转载请注明本文标题和链接:《Android Apk的签名验证

分享到:

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交