Articles of hash

facebook如何使用密钥哈希validation应用程序的真实性?

在使用Facebook开发Android应用程序时,您需要将应用程序的密钥哈希上传到其网站。 有了这个,他们声称他们能够validation他们的服务器的调用实际上是从您的应用程序。 我已经读过这个问题Facebook如何validation移动应用程序,但它并没有真正提供实际的实现。 我试过查看facebook库的源代码,但无法弄明白。 从Android应用程序发送哪些数据以及可以在服务器中针对此哈希validation的加密? facebook实施的方法是否安全? 如果是,并且它可以在任何服务器中实现,我可以使用它来validation我的服务器我的应用程序没有使用不同的代码重新编译(这往往经常发生:() 我目前正在以这种方式实现这个想法: Signature[] sigs = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES).signatures; for (Signature sig : sigs) { verifyInServer(sig.hashCode()); } 其中verifyInServer是伪代码,用于针对具有签名存储值的服务器进行的检查。 它现在已经工作了,但我不确定它是否安全,而且我宁愿检查一个密钥哈希(它的公共)而不是这个签名数据(我不确定它是否是私有的,而不是可以欺骗的用户 )。

每部Android手机都支持SHA-256吗?

所以阅读这篇文章: 如何计算Android中字符串的SHA-256哈希值? 和文档: http : //developer.android.com/reference/java/security/MessageDigest.html 我很好奇; 哪些手机支持SHA-256? 在文档中,关于’NoSuchAlgorithmException’的一行让我觉得有些手机不支持所有算法。 在我为一个应用程序实现这个并期望它在所有手机上工作之前我想知道是否有人知道这个…? 我觉得奇怪的是MessageDigest类没有一些常量来选择你想要使用的算法。