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

2024-11-01 22:14:31

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

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

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

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

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

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

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

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

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

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

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

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

猜你喜欢