zoukankan      html  css  js  c++  java
  • 数字签名和加密解密有什么区别?

    数据加密:用公钥加密,只有用私钥解开,因为私钥只有你自己有,所以他保证了数据不能被别人看到
    签名:用私钥加密,只能用公钥解密,任何人都可以用公钥验证。因为私钥只有你自己有,所以它可以保证数据只能是你发出的,不可能有别人发出,除非你得私钥丢失或被第三方破解出来

    pig0045(pig)说的没错。
    数字签名起不到加密作用,但可以确定是谁发出的信息
    使用公钥加密算法,可以对明文进行加密,但不能确定是谁发出该消息

    数字签名用到了非对称加密的思想。私钥加密的数据,公钥可以验正。数字签名就是用私钥加密,不过不是加密所有数据。具体加密什么我也不清楚。你可以装一个PGP试一下。就非常清楚了。

    我再说的详细一点吧
    加密和解密:发送方利用接收方的公钥对要发送的明文进行加密,接受方利用自己的 
              私钥进行解密,其中公钥和私钥匙相对的,任何一个作为公钥,则另一个
              就为私钥.但是因为非对称加密技术的速度比较慢,所以,一般采用对称
              加密技术加密明文,然后用非对称加密技术加密对称密钥,即数字信封
              技术.
    签名和验证:发送方用特殊的hash算法,由明文中产生固定长度的摘要,然后利用
              自己的私钥对形成的摘要进行加密,这个过程就叫签名。接受方利用
              发送方的公钥解密被加密的摘要得到结果A,然后对明文也进行hash操
              作产生摘要B.最后,把A和B作比较。此方式既可以保证发送方的身份不
              可抵赖,又可以保证数据在传输过程中不会被篡改。

    赘述到此,请别见笑。两种方式的结合会大大增加安全性

    数字信封技术就是对密钥再加密罗?是因为非对称加密技术对密钥的解密比对密文的解密快是吧。
    数字签名原来和发送的数据也有关啊,那么签名的人只有算法不变,每次发过去的签名其实都不同的了。除了hash算法也会用其他算法吗?
    还有,非对称加密技术的思想能不能再多说一点?
    呵呵,我越问越多了,不要紧,我会另开贴给分!

    to bigwind(大风):
      一,  对称密钥相对明文数据来说要小得多,这是为什么不用非对称加密技术加密
           明文的原因。加密的速度是和要加密的数据量有关的。本来非对称加密算 
           法就比对称加密算法的速度慢好多,如果再用它加密大数据量的明文,那
           岂不是会急死好多急性子人,我是其中之一。呵呵
      二, 签名和验证的原理你还是没太明白,其实完全不必产生摘要,用自己的私钥
           随便加密一些数据,这就叫签名,如果对方能够用公钥解开,就足以证明
           发送者是你,之所以产生摘要,目的是确保数据不被中途篡改。说到这里
           不知道你是否明白了?
      三, 产生摘要的算法有很多,比如MD5,你可以上网搜一下

  • 相关阅读:
    java接口请求超时处理方法
    Spring Cloud GateWay 服务网关
    Mysql中on条件和where条件的使用总结
    Elasticsearch之javaAqi
    Elasticsearch—CRUD
    ElasticSearch的版本控制和Mapping创建
    cmd定时任务计划
    CSS简介及使用
    html简介及应用
    Python基础(十五)-IO模型
  • 原文地址:https://www.cnblogs.com/heartstage/p/3442543.html
Copyright © 2011-2022 走看看