Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能支持rsa加aes混合加密么 #18

Open
yeyinghao opened this issue Jun 11, 2022 · 5 comments
Open

能支持rsa加aes混合加密么 #18

yeyinghao opened this issue Jun 11, 2022 · 5 comments
Labels

Comments

@yeyinghao
Copy link

No description provided.

@Licoy
Copy link
Owner

Licoy commented Jun 11, 2022

混合加密,可否举个例子

@yeyinghao
Copy link
Author

混合加密,可否举个例子

比如解密 先用rsa解密出aes的key 然后在用aes的key在解密实际的数据, 其实就是aes的key是由rsa加密传输这样的 类似https了, 每次都是动态这样

@yeyinghao
Copy link
Author

混合加密,可否举个例子

比如解密 先用rsa解密出aes的key 然后在用aes的key在解密实际的数据, 其实就是aes的key是由rsa加密传输这样的 类似https了, 每次都是动态这样

混合加密,可否举个例子
https://blog.csdn.net/ityouknow/article/details/80603617 这个博文的思路

客户端启动,发送请求到服务端,服务端用RSA算法生成一对公钥和私钥,我们简称为pubkey1,prikey1,将公钥pubkey1返回给客户端。

客户端拿到服务端返回的公钥pubkey1后,自己用RSA算法生成一对公钥和私钥,我们简称为pubkey2,prikey2,并将公钥pubkey2通过公钥pubkey1加密,加密之后传输给服务端。

此时服务端收到客户端传输的密文,用私钥prikey1进行解密,因为数据是用公钥pubkey1加密的,通过解密就可以得到客户端生成的公钥pubkey2

然后自己在生成对称加密,也就是我们的AES,其实也就是相对于我们配置中的那个16的长度的加密key,生成了这个key之后我们就用公钥pubkey2进行加密,返回给客户端,因为只有客户端有pubkey2对应的私钥prikey2,只有客户端才能解密,客户端得到数据之后,用prikey2进行解密操作,得到AES的加密key,最后就用加密key进行数据传输的加密,至此整个流程结束。

@Licoy
Copy link
Owner

Licoy commented Jun 12, 2022

@yeyinghao 可以支持动态加解密流程,之后跟进

@Licoy Licoy added the 功能 label Jun 12, 2022
@yeyinghao
Copy link
Author

@yeyinghao 可以支持动态加解密流程,之后跟进

谢谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants