吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5898|回复: 58
收起左侧

[原创工具] MQTT+RSA实现局域网私密聊天,对学习加密和MQTT消息有帮助

  [复制链接]
wjbych 发表于 2023-9-11 08:33
本来是给服务器做了一个MQTT消息传递功能,用来自动上报服务器的磁盘空间大小的,后来发现是不是也可以用来聊天了,毕竟消息传递很方便嘛,就试着做了一下,没有真正实现1对1隐私聊天,但别人也看不到你的聊天内容,因为他没key。本软件仅做为学习用途,有bug有不足,有些功能我也实现不了,还请见谅!


软件功能
1、软件分为服务端和客户端,通过MQTT实现局域网内的消息传递,可以跨vlan进行消息传递
2、通过MQTT的订阅来实现接收哪些消息,为了便于使用,对订阅进行了固定,可以直接使用,无法自定义订阅
3、发送接收消息采用RSA加解密,在软件打开时,会自动生成一个RSA的公钥和私钥,公钥通过交换key发送给其他客户端,私钥保存在自己客户端这边,每次打开时所生的秘钥都是不一样的。
4、本软件中私钥是指用户自己的私钥,公钥是指接收到的其他客户端发过来的公钥,只有等公钥和私钥都变绿灯时,才可以发送消息
5、对于要发送的消息,使用接收到的公钥进行加密,对方接收到以后,使用对方自己的私钥进行解密
6、对于接收到的消息,如果消息长度大于50,则使用自己的私钥进行解密,否则是一些其他的消息,不需要解密。
7、不足之处是客户端之间无法实现自动交换公钥,而是需要点击。
8、本软件主打的就是一个安全和隐私,全程没有数据库,不会以任何形式保存消息,服务端虽然可以看到加密后的消息,但没有私钥所以无法解密,客户端可以解密但无法保存加密过的消息,并且可以随时清空消息列表。


使用方法:
1、先启动服务端,不要更改端口,直接点启动服务就可以了
2、在其他电脑上打开客户端,会自动生成客户ID,也可以手动输入一个固定的,但不能重复
3、依次点击连接、订阅、交换key
4、等待另一个客户端进行相同的操作
5、下方的私钥状态和公钥状态都变绿色时,就可以使用了。


附件下载: MQTT.rar (417.56 KB, 下载次数: 170)


截图:
1.jpg

2.jpg

3.jpg

4.jpg

5.jpg

6.jpg

免费评分

参与人数 5吾爱币 +9 热心值 +5 收起 理由
swhzxzx + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Szyk + 1 + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
withx + 1 + 1 我很赞同!
vivili068 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| wjbych 发表于 2023-9-12 10:58
新的长这样子,可以聊天,但还有bug,可以交换密钥,可以客户端间发现上线和下线,但还有bug一大堆。
image.png

免费评分

参与人数 1热心值 +1 收起 理由
gqdsc + 1 为什么不能分享咧

查看全部评分

 楼主| wjbych 发表于 2023-9-11 08:47

关键的部分都是百度找的代码,只是自己把想法揉合了一下,实现了自己需要的一些小功能,哈哈,面向百度编程。
 楼主| wjbych 发表于 2023-9-11 11:14
骑狗的猴子 发表于 2023-9-11 10:31
好像很厉害的样子 感觉可以做很多的事情

最主要的也就是聊个天,要是找个公网的MQTT服务器的话,那就是个很私密的一对一聊天软件了
 楼主| wjbych 发表于 2023-9-13 08:34
kidye919 发表于 2023-9-13 06:46
感谢lz的分享! 拿来用用局域网正缺少这类聊天的软件

抱歉的是新版本的不能分享,去中心化的聊天软件可能是个红线,那个基本上实现了安全的聊天,上下线、交换密钥、一对一消息等功能,
 楼主| wjbych 发表于 2023-9-13 10:06
perch 发表于 2023-9-13 09:02
对学习加密和MQTT消息有帮助?我好菜,思路都没有,学不到

简单来说,通过MQTT实现消息传送要比tcp这些简单,只需要知道服务器地址就行了,然后再用RSA对传的消息加密,这样服务端就看不到消息内容了
 楼主| wjbych 发表于 2023-9-13 08:45
jonvi 发表于 2023-9-12 08:12
内网聊天工具?

现在做的版本也可以外网聊天用,只需要在外网找个MQTT免费服务器就行了
 楼主| wjbych 发表于 2023-9-11 11:13
testqkl 发表于 2023-9-11 09:39
什么语言,应用落地了就看起来有点意思,

C#做的,使用的MQTTnet,这个版本比较多,各版本间还不兼容,网上找个能用的就行
 楼主| wjbych 发表于 2023-9-11 09:29
CANTON 发表于 2023-9-11 08:57
mqtt也算消息中间件,你相当于对互相订阅的消息做了加密,其他人直接就看不到,如果解密了是不是就是明文了 ...

你有RSA的私钥就可以解密,没有就解密不了,私钥从始至终都没有传递过,别人不可能有
zsj118106 发表于 2023-9-11 08:44
楼主厉害
zhougaohua 发表于 2023-9-11 08:49
感谢分享,收藏备用!
ccecc 发表于 2023-9-11 08:52

感谢分享 稍后试试
ljh1229 发表于 2023-9-11 08:52
学习学习!!!
CANTON 发表于 2023-9-11 08:57
mqtt也算消息中间件,你相当于对互相订阅的消息做了加密,其他人直接就看不到,如果解密了是不是就是明文了?
skzhaixing 发表于 2023-9-11 09:03
这个可以啊  不错的思路
jiaowojiangge 发表于 2023-9-11 09:04
想法还是很不错的,值得学习
yhzh 发表于 2023-9-11 09:06
感谢分享。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-23 15:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表