原谅我不是科班出身,之前一直没搞明白公钥私钥的问题,今天记录一下:
原则
公钥加密,私钥解密;
私钥数字签名,公钥验证;
知乎高赞回答:
“你只要想:既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密;同理,既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证。”
Github例子
Github就可以用SSH key来保障本地和github服务器通信的安全;
在本地通过:
ssh-keygen -t rsa -C "你的邮箱地址"
在~/.ssh/目录下生成id_rsa私钥和id_rsa.pub公钥;
为什么要将公钥发给Github呢?
因为公钥用于加密,每次从github接受到的数据都是服务器用你给的公钥加密的,而只有你有能够解密的私钥;
在你向GitHub服务器传输数据的时候,需要用你的私钥加密,而Github有你给的公钥,可以解密;重点是:能够用你给的公钥解密的信息,必定是由你的私钥加密得到的,因此可以断定发来信息的是你本人,这就是数字签名
609

被折叠的 条评论
为什么被折叠?



