MD5withRSA和SHA1withRSA有什么区别?

Mar*_*ary 5 android code-signing keystore

在Android应用程序的谷歌文档 ...它说我应该使用SHA1withRSA

但我想知道SHA1withRSA和MD5withRSA之间的区别是什么?那怎么会影响我的应用呢?google play会根据SHA1withRSA/MD5withRSA接受/拒绝该应用程序进入其市场吗?

谢谢,

met*_*ter 12

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

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

  1. 使用someones公钥加密某些内容,然后只有具有相应私钥的人才能解密它.
  2. 有人用他的私钥签名,然后每个人都可以通过检查那个人的公钥来确认这确实是由那个人签署的.

现在SHA1RSA意味着:

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