数字签名和验签

来源:互联网 发布:家具设计软件是什么 编辑:程序博客网 时间:2024/04/28 14:13

什么是对称加密和非对称加密?
对称加密是指:有一个密钥,加密用它来加密,解密也需要用到它。因为加密解密都是用同一个密钥所以叫对称加密。
非对称加密是指:就是有 2 个密钥,一个是公钥,一个是私钥。私钥是自己的,不能随便给人,公钥随便给,无所谓。一般是别人用你的公钥加密,然后把密文给你,你用你的私钥解密,这样一样加密和解密不是同一个密钥,所以叫非对称。
 
对称和非对称的优劣?
对称加密有一个坏处只要拥有密钥的人都可以解密。
非对称的好处是假如没有私钥,别人是无法解密的,就算加密的那个人他把数据加密了他也无法解密,加密者把密文和公钥随便给那个人都无法解密。
 
什么是数字签名?
数字签名是指:用一段密码与原文进行加密,检测原文有没有被 篡改。意义就是这些数据与原文数据比对是否修改过,这个解释有点麻烦,一般是用自己的私钥对数据进行签名,然后用公钥去验证这个数据是否修改过

 

例如:用 RSACryptoServiceProvider 签名验签
'要加密的数据  
Dim messageBytes As Byte() = Text.Encoding.UTF8.GetBytes('激情燃烧的木炭[http://www.woodcoal.cn/]')  
 
'1. 产生公匙和私匙,两个数据都要保存  
Dim oRsa As New Security.Cryptography.RSACryptoServiceProvider  
Dim privateKey As String = oRsa.ToXmlString(True)  
Dim publicKey As String = oRsa.ToXmlString(False)  
 
'2. 用私钥匙签名数据  
Dim oRsaEncode As New Security.Cryptography.RSACryptoServiceProvider  
'导入私钥  
oRsaEncode.FromXmlString(privateKey)  
'输出签名后的数据  

0 0
原创粉丝点击