在xml签名的签名方法中,您已经指定了以下格式:SignatureMethod.RSA_SHA1
,但是在使用普通签名时,您只需
Cipher c1=Cipher.getInstance("RSA");
那么两者之间有什么区别?
最佳答案
区别很简单:RSA
是(public-key)cryptography算法,其中公钥用于加密重要消息。加密的数据必须使用私钥解密。
另一方面,RSA-SHA1
是RSA
cryptography + SHA1
Message Digest的组合。 message digest是单向哈希函数,具有四个主要或重要属性:
计算任何给定消息的哈希值很容易
生成具有给定哈希值的消息是不可行的
在不更改哈希的情况下修改消息是不可行的
找到两个具有相同哈希值的不同消息是不可行的
在Digital Signature中,可能需要保证签名在发送方和接收方之间都是有效的。通过加密算法(例如,RSA
)创建签名,然后通过散列函数(例如,SHA-1
)对公钥,消息和签名进行验证,以确保真实性。