RSA 数字签名 免密码登录
来源:互联网 发布:流量监控软件推荐 编辑:程序博客网 时间:2024/06/18 14:13
其实公钥和私钥都可以用来加密或解密---只要能保证用A加密,就用B解密就行。至于A是公钥还是私钥,其实可以根据不同的用途而定。
例如说,如果你想把某个消息秘密的发给某人,那你就可以用他的公钥加密。因为只有他知道他的私钥,所以这消息也就只有他本人能解开,于是你就达到了你的目的。
但是如果你想发布一个公告,需要一个手段来证明这确实是你本人发的,而不是其他人冒名顶替的。那你可以在你的公告开头或者结尾附上一段用你的私钥加密的内容(例如说就是你公告正文的一段话),那所有其他人都可以用你的公钥来解密,看看解出来的内容是不是相符的。如果是的话,那就说明这公告确实是你发的---因为只有你的公钥才能解开你的私钥加密的内容,而其他人是拿不到你的私钥的。
最后再说一下数字签名。
数字签名无非就两个目的:
证明这消息是你发的;
证明这消息内容确实是完整的---也就是没有经过任何形式的篡改(包括替换、缺少、新增)。
其实,上面关于“公告”那段内容,已经证明了第一点:证明这消息是你发的。
那么要做到第二点,也很简单,就是把你公告的原文做一次哈希(md5或者sha1都行),然后用你的私钥加密这段哈希作为签名,并一起公布出去。当别人收到你的公告时,他可以用你的公钥解密你的签名,如果解密成功,并且解密出来的哈希值确实和你的公告原文一致,那么他就证明了两点:这消息确实是你发的,而且内容是完整的。
例如说,如果你想把某个消息秘密的发给某人,那你就可以用他的公钥加密。因为只有他知道他的私钥,所以这消息也就只有他本人能解开,于是你就达到了你的目的。
但是如果你想发布一个公告,需要一个手段来证明这确实是你本人发的,而不是其他人冒名顶替的。那你可以在你的公告开头或者结尾附上一段用你的私钥加密的内容(例如说就是你公告正文的一段话),那所有其他人都可以用你的公钥来解密,看看解出来的内容是不是相符的。如果是的话,那就说明这公告确实是你发的---因为只有你的公钥才能解开你的私钥加密的内容,而其他人是拿不到你的私钥的。
最后再说一下数字签名。
数字签名无非就两个目的:
证明这消息是你发的;
证明这消息内容确实是完整的---也就是没有经过任何形式的篡改(包括替换、缺少、新增)。
其实,上面关于“公告”那段内容,已经证明了第一点:证明这消息是你发的。
那么要做到第二点,也很简单,就是把你公告的原文做一次哈希(md5或者sha1都行),然后用你的私钥加密这段哈希作为签名,并一起公布出去。当别人收到你的公告时,他可以用你的公钥解密你的签名,如果解密成功,并且解密出来的哈希值确实和你的公告原文一致,那么他就证明了两点:这消息确实是你发的,而且内容是完整的。
0 0
- RSA 数字签名 免密码登录
- SSH使用RSA公钥配置免密码登录
- linux中ssh使用rsa免密码登录方法
- linux中ssh使用rsa免密码登录方法
- Linux 通过rsa公钥实现ssh免密码登录
- SSH免密码登录
- ssh 免密码登录
- ssh 免密码登录
- ssh 免密码登录
- ssh免密码登录
- ssh 免密码登录
- ssh 免密码登录
- ssh 免密码登录
- ssh 免密码登录
- ssh 免密码登录
- ssh 免密码登录
- SSH免密码登录
- ssh 免密码登录
- 字符串分离方法
- 5 分钟上手 ECharts(echart官网转载)
- TEST
- 整流滤波电路图绘制后,元件自动编号
- 基础算法-插入排序
- RSA 数字签名 免密码登录
- 我是一只新晋程序狗
- ubuntu12.04安装nginx
- java.lang.NoSuchMethodError: org.objectweb.asm.org.objectweb.asm.ClassWriter.
- 丑数(JAVA)
- Leetcode #22 Generate Parentheses 创建括号 解题报告
- APUE之线程(二)
- POJ 1330 Nearest Common Ancestors【LCA】
- 源表含时间戳、做逻辑删除的情况,数据同步ETL方案分享