数字签名和验签

2024-02-14 22:08
文章标签 数字签名 和验

本文主要是介绍数字签名和验签,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是对称加密和非对称加密?
对称加密是指:有一个密钥,加密用它来加密,解密也需要用到它。因为加密解密都是用同一个密钥所以叫对称加密。
非对称加密是指:就是有 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)  
'输出签名后的数据  

这篇关于数字签名和验签的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/709688

相关文章

数字签名基本流程

文章来源 https://www.cnblogs.com/ycha/p/9556535.html https://blog.csdn.net/qq_16605855/article/details/80966382 签名过程 输入:原文、私;钥输出:签名值 1)将原文做 HASH 2)将 HASH 做私密加密,结果就是签名值 验证签名过程 输入:签名值、原文、公钥输出:是

安装第三方inf 不含数字签名信息的方法

过程中遇到第三方INF不包含数字签名信息  解决方法:左下角搜索栏输入:高级启动-立即重启-疑难解答-高级选项-启动设置-重启-重启之后,电脑就可以安装未签名驱动了

数字签名是什么?[转]

文章来源:http://kan.weibo.com/con/3524902422946278     本文用图片通俗易懂地解释了"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。希望多你有帮助。   1.   鲍勃有两把钥匙,一把是公钥,另一把是私钥。   2.   鲍勃把公钥送给他的朋友们----帕蒂、道格

数字签名和数字证书详解

签名 当你在一个纸质文件上写上你的名字,按上你的指纹,就意味着这张纸上的内容经过了你的认可,你的笔迹和指纹就是你身份的证明。这是因为,笔迹很难伪造,而每个人的指纹更是独一无二的。在签名前,我们会检查文件内容有没有歧义、有没有涂改、有没有多余不必要的空白等,确认无误后再写下我们的名字,而收到签名后文件的人,再次对文件内容及签名进行检查,以确保文件内容的有效性和完整性。 因此,签名可以用来认证签名

windows下安装pyenv+解决pyenv install时“未对文件进行数字签名”或“pyenv : 无法加载文件在此系统上禁止运行脚本”的问题

安装pyenv 按照该博主的帖子,安装好pyenv-windows并配置好环境变量: http://t.csdnimg.cn/siQMH 但是执行pyenv install命令时遭遇了如下问题,现在记录一下。 问题1:pyenv : 无法加载文件在此系统上禁止运行脚本。 刚拿到电脑,在电脑上运行`power shell``的同学更可能遇到这个问题。 主要问题出在电脑的执行策略需要更改,可

数字签名算法---加密学习笔记(五)

介绍 签名:就有安全性,抗否认性 数字签名:带有密钥(公钥,私钥)的消息摘要算法 作用: 1. 验证数据的完整性 2. 认证数据来源 3. 抗否认 数字签名遵循:私钥签名,公钥验证 常用的数字签名算法:RSA,DSA,ECDSA RSA 介绍: 是经典算法,是目前为止使用最广泛的数字签名算法。 RSA数字签名算法的密钥实现与RSA的加密算法是一样的,算法的名称都叫RSA。密钥的产生

cab数字签名制作

制作证书 makecert -$ "individual" -r /sv "Smart360.PVK" /n "CN= www.smart360.cn,E=15011116466-163-com,O=lilingtong " smart360.cer 制作inf cabarc.exe -s 6144 N smart.cab zlib.dll qnviccub.dll bridge

高级数字签名之椭圆曲线数字签名算法(ECDSA)

@TOC 1. 算法简述 该算法是微软操作系统及办公软件的序列号验证算法。 ECDSA(Elliptic Curve Digital Signature Algorithm, 椭圆曲线数字签名算法) 于1999年作为ANSI标准, 并于2000年成为IEEE和NIST标准。 ECDSA算法具有速度快、强度高、签名短等有点。 3. 代码实现 Java中未对该算法做实现, 而在Bouncy

数字签名标准算法——DSA

数字签名标准算法——DSA 1. 算法简述2.模型分析3. 代码实现3.1 算法实现3.2 测试代码3.3 运行结果 1. 算法简述 RSA为经典数字签名算法 数字签名标准(Digital Signature Standard, DSS), DSS本质是ElGamal数字签名算法,DSS使用的算法成为数字签名算法(Digital Signature Algorithm, DSA

数字签名算法之RSA

数字签名算法之RSA 1.数字签名简述2. 模型分析3. 代码实现3.1 签名算法实现3.2 测试代码3.3 运行结果 1.数字签名简述 数字签名算法可以看做是一种带有密钥的消息摘要算法,并且这种密钥包含了公钥和私钥。也就是说数字签名算法是非对称加密算法和消息摘要算法的结合体。 数字签名算法是公钥基础设施(PKI)以及许多网络安全机制(SSL/TLS、VPN等)的基础。 数