两者都可以用来加密数据,但他们有什么区别呢?
简单来说,二者在加密上使用的技术不同:
-
secret key 是对称加密算法(Symmetric encryption)中的概念,此算法中信息的发送者和接受者拥有相同的secret key来加密和解密信息.
-
private key 是非对称加密(Asymmetric Encryption)算法中的概念,与之对应的是public key,此算法public key是公之于众的,任何人都可以下载,而private key只有自己拥有,发送者使用接收者公之于众的public key加密信息,接收者收到之后用只有自己拥有的secret key来解密信息。
如果想详细学习Java中如何加解密以及签名,可以看下这个,是一个eclipse工程:https://gitee.com/tudoubudou/rsabest-test
直接看注释就秒懂。