android - MD5withRSA 和 SHA1withRSA 有什么区别?

标签 android code-signing keystore

<分区>

google documentation对于 Android 应用程序...它说我应该使用 SHA1withRSA

但我想知道 SHA1withRSA 和 MD5withRSA 之间有什么区别? 无论如何,这将如何影响我的应用程序? Google Play 会根据 SHA1withRSA/MD5withRSA 接受/拒绝该应用进入其市场吗?

谢谢,

最佳答案

SHA 和 MD5 都是散列函数,是一种单向过程。这个想法是相同的内容产生相同的散列。这样,例如可以对文档进行哈希处理,稍后检查它是否仍然是同一个文档,您只需要比较哈希值以查看是否有人进行了更改。 MD5 已变得不安全,因为研究人员已经找到了计算生成相同 散列的不同 文档的方法。这称为散列冲突,任何人都不能随意产生它们。

RSA 是一种公钥/私钥系统,简而言之,它适用于两种情况:

  1. 用某人的公钥加密一些东西,然后只有拥有相应私钥的人才能解密。
  2. 有人用他的私钥签署了一些东西,然后每个人都可以通过用那个人的公钥检查它来确认这确实是由那个人签署的。

现在 SHA1RSA 意味着:

  1. 使用 SHA 散列包。这会产生一个 32 字节的小散列字符串,并且可以非常快速地计算。
  2. 用您的私钥对该哈希字符串签名,以证明它确实来自您。

关于android - MD5withRSA 和 SHA1withRSA 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19730220/

相关文章:

java - 使用新的代码签名证书更新 java keystore 别名

android - Android上ListView的限制高度

java - Android - 存储或创建 3d 模型

java - 访问二维数组的对象

java - 关于Android签名申请的问题

tomcat - 如何从自签名证书的 keystore 中导出私钥

android - 如何在android中滚动时将标签从内容粘贴到屏幕顶部

ios - 临时测试的代码签名

java - 如何从 X.509 证书生成 Java keystore

java - 修改 keystore 文件中别名的组织