vb.net实现字符串加密和解密(RSA)之二

2025-05-25 11:51:26

1、公钥与私钥(1)私钥用来进行解密和签名,是给自己用的。(2)公钥由本人公开,用于加密和验证签名,是给别人用的。(3)当该用户发送文件时,用私钥签名,别人用他给的公钥验证签名,可以保证该信缓肉酪盂息是由他发送的。当该用户接受文件时,别人用他的公钥加密,他用私钥解密,可以保证该信息只能由他接收到。

2、我们新建一个窗体窗体布局如图

vb.net实现字符串加密和解密(RSA)之二

3、上篇介绍到实现RSA签名和验证的第一步是获取密钥我们在上篇已经实现,获取到了公钥和私钥,以文件的形式存在了程序根目录下。

vb.net实现字符串加密和解密(RSA)之二

4、继续上篇模块module1的操作,这次在里面添加RSASignature的函数这稍僚敉视个函数实现了RSA签名和验证的第二步和第三步•获取待签名的Hash码•获取签名的字符串

vb.net实现字符串加密和解密(RSA)之二

5、对私钥签名按钮添加click事件。

vb.net实现字符串加密和解密(RSA)之二

6、下面进行RSA签名和验证的第四步->验证在模块module1中添加验证签名函数RSAVerifySignature此函数实现原字符和签名通过公钥进行验证

vb.net实现字符串加密和解密(RSA)之二

7、公钥验证按钮添加click事件。

vb.net实现字符串加密和解密(RSA)之二

8、运行程序,在待加密字符中输入字符点击私钥签名

vb.net实现字符串加密和解密(RSA)之二

9、点击公钥验证,结果出来-1逻辑值true对应的数字是-1,说明验证一致

vb.net实现字符串加密和解密(RSA)之二

10、把待加密字符串稍微修改下,再验证,这次结果是0false对应的数字是0,说明不一致。

vb.net实现字符串加密和解密(RSA)之二

11、总结 (1) 对称加密加辩尢霆靡密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。 (2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。 (3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢