vb.net实现字符串加密和解密(RSA)之二
1、公钥与私钥(1)私钥用来进行解密和签名,是给自己用的。(2)公钥由本人公开,用于加密和验证签名,是给别人用的。(3)当该用户发送文件时,用私钥签名,别人用他给的公钥验证签名,可以保证该信缓肉酪盂息是由他发送的。当该用户接受文件时,别人用他的公钥加密,他用私钥解密,可以保证该信息只能由他接收到。
2、我们新建一个窗体窗体布局如图
3、上篇介绍到实现RSA签名和验证的第一步是获取密钥我们在上篇已经实现,获取到了公钥和私钥,以文件的形式存在了程序根目录下。
4、继续上篇模块module1的操作,这次在里面添加RSASignature的函数这稍僚敉视个函数实现了RSA签名和验证的第二步和第三步•获取待签名的Hash码•获取签名的字符串
5、对私钥签名按钮添加click事件。
6、下面进行RSA签名和验证的第四步->验证在模块module1中添加验证签名函数RSAVerifySignature此函数实现原字符和签名通过公钥进行验证
7、公钥验证按钮添加click事件。
8、运行程序,在待加密字符中输入字符点击私钥签名
9、点击公钥验证,结果出来-1逻辑值true对应的数字是-1,说明验证一致
10、把待加密字符串稍微修改下,再验证,这次结果是0false对应的数字是0,说明不一致。
11、总结 (1) 对称加密加辩尢霆靡密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。 (2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。 (3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:53
阅读量:84
阅读量:33
阅读量:43
阅读量:49