小编Jav*_*ier的帖子

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

在使用Facebook开发Android应用程序时,您需要将应用程序的密钥哈希上传到他们的站点.有了这个,他们声称他们能够验证他们的服务器的调用实际上是从您的应用程序.

我已经读过这个问题Facebook如何验证移动应用程序,但它并没有真正提供实际的实现.我试过查看facebook库的源代码,但无法弄明白.

从Android应用程序发送哪些数据,以及可以在服务器中针对此哈希验证的加密?facebook实施的方法是否安全?

如果是,并且它可以在任何服务器中实现,我可以使用它来验证我的服务器我的应用程序没有使用不同的代码重新编译(这往往经常发生:()


我目前正在以这种方式实现这个想法:

Signature[] sigs = context.getPackageManager().getPackageInfo(context.getPackageName(),     PackageManager.GET_SIGNATURES).signatures;
for (Signature sig : sigs) {
    verifyInServer(sig.hashCode());
}
Run Code Online (Sandbox Code Playgroud)

其中verifyInServer是伪代码,用于针对具有签名存储值的服务器进行的检查.它现在已经工作但我不确定它是否安全,而且我宁愿检查一个密钥哈希(它的公开)而不是这个签名数据(我不确定它是否是私有的,而不是由于它的欺骗用户).

security hash android facebook facebook-graph-api

21
推荐指数
2
解决办法
1714
查看次数

如何以编程方式在Genymotion上压缩zip

我正在尝试将谷歌应用程序闪存到genymotion模拟器中.我可以使用拖放功能执行此操作,但我的项目需要将谷歌应用程序.zip加载到genymotion计算机并且它在内部闪烁.(为避免与桌面交互)

我检查了这样的问题其中闪烁的实现,但使用clockworkmod恢复(我不能上genymotion安装).由于genymotion恢复模式上没有文档,我找不到闪存zip的命令,但我很确定它们存在.

哪些命令可用于从终端刷新.zip?

这些命令也可以在持有genymotion的机器上运行.

android genymotion

11
推荐指数
1
解决办法
1万
查看次数

如何验证服务器调用是否是从应用程序发出的?

我有一个 Android 应用程序,需要经常连接到服务器以检索或添加数据库中的敏感数据。我需要验证应用程序对服务器的调用是否是从应用程序发出的,因此我使用了这种方法:如何从服务器验证客户端的身份?它包含在服务器中验证的应用程序中的硬编码字符串密钥。但后来我意识到有像 dex2jar 这样的工具,它可以泄露我所有的代码(即使有 proguard 的一些混淆),特别是这个硬编码的密钥。

有没有更优雅、更安全的方法来验证服务器调用是否是从我的应用程序发出的?

PS:我对英语感到抱歉,显然我不是母语人士。

php security android

3
推荐指数
1
解决办法
687
查看次数

连接稀疏矩阵特征

我在 Eigen 中有两个稀疏矩阵,我想将它们垂直连接成一个。例如,代码的目标是:

SparseMatrix<double> matrix1;
matrix1.resize(10, 10);
SparseMatrix<double> matrix2;
matrix2.resize(5, 10);

SparseMatrix<double> MATRIX_JOIN;
MATRIX_JOIN.resize(15, 10);
MATRIX_JOIN << matrix1, matrix2;
Run Code Online (Sandbox Code Playgroud)

我在论坛上找到了一些解决方案,但是我无法实施。

垂直连接矩阵的正确方法是什么?

编辑

我的实现:

SparseMatrix<double> L;
SparseMatrix<double> C;
// ... (Operations with the matrices)
SparseMatrix<double> EMATRIX;
EMATRIX.resize(L.rows() + C.rows(), L.cols());
EMATRIX.middleRows(0, L.rows()) = L;
EMATRIX.middleRows(L.rows(), C.rows()) = C;
Run Code Online (Sandbox Code Playgroud)

我收到类型错误,根据编译器的说法,右侧是 Eigen::Block 而左侧是 Eigen::SparseMatrix

c++ sparse-matrix eigen

2
推荐指数
1
解决办法
2543
查看次数