首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保护Android图书馆

保护Android图书馆
EN

Stack Overflow用户
提问于 2017-11-14 07:22:01
回答 1查看 290关注 0票数 1

我正在为金融科技的产品开发一个android库。我只想将AAR文件的使用限制在通过身份验证的用户。我们为每个客户端提供了带有访问密钥的服务器验证。还有其他客户端验证吗?保护我的图书馆的最佳机制是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-19 05:26:11

最好的解决方案是在服务器端验证宿主应用程序的包名和签名的散列密钥。

不要将哈希键作为SDK的参数,让SDK在运行时读取它并将其传递给服务器。

代码语言:javascript
复制
public String getCertificateHash(Context context) {
        String hashKey = "";
            try {
                PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
                for (Signature signature : info.signatures) {
                    MessageDigest md = MessageDigest.getInstance("SHA");
                    md.update(signature.toByteArray());
                    hashKey = Base64.encodeToString(md.digest(), Base64.DEFAULT);

                }
            } catch (PackageManager.NameNotFoundException e) {
                LogUtil.printObject(e);
            } catch (NoSuchAlgorithmException e) {
                LogUtil.printObject(e);
            }
            return hashKey.trim();
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47279873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档