batch-file - 我可以将发送给我的 LAN 消息放入程序中进行解密吗?
问题描述
我制作了一个简单的 LAN 信使,用于使用此批处理文件与网络上的人交谈:
@ echo off
:A
cls
echo MESSENGER
set /p n=User:
set /p m=Message:
set /p z=Time:
msg /SERVER:%n% * /TIME:%z% "%m%"
Pause
Goto A
我想要做的是在使用算法发送消息之前对其进行加密,然后在显示明文之前在收件人端解密消息。
我在网上查看过,似乎没有太多关于接收收到的消息并使用它们的信息。
解决方案
一个快速的解决方案。并且没有出去CMD
......我会压缩消息发送它然后在终点解压缩它。在没有经验的用户眼中,可能看起来像是加密的消息。实际上只是添加了几行代码。然后您的代码将如下所示:
@ echo off
setlocal EnableDelayedExpansion
:A
cls
echo MESSENGER
set /p n=User:
set /p m=Message: & echo !m! > ~
set /p z=Time:
makecab ~ > nul
set /p m=<~._
del /f ~
del /f ~._
msg /SERVER:%n% * /TIME:%z% "%m%"
Pause
Goto A
重要提示:当前重定向~._
到m
无法正常工作。
输入:
This is a message
输出:
MSCF \ , > 8O]z ~ ╗+Å CK╔╚,V óDà▄ÈÔÔ─¶T^.
在客户端,我们可以使用它expand
来解压消息。我不知道msg
命令的接收是如何工作的。但我将假设它可以通过echo
命令来描述。所以,
REM substitute echo by the reception command.
echo !rcv_msg! > ~
expand ~ msg.temp
type msg.temp
del /f msg.temp
如果我们删除MSCF
似乎每次运行压缩时都附加的字符,它会更加健壮。然后在解压缩之前将它们附加到消息的开头。
推荐阅读
- python - 不和谐机器人如何在不和谐重写中加入语音频道?
- firefox - Firefox 网址栏字体
- cassandra - 我应该如何在 Cassandra 中实现数据访问/权限管理
- typescript - 当 Vuex 的“router.currentRoute.name”改变时更新计算属性
- python - 删除熊猫列中的部分字符串
- c++ - 如果 libpcap 的环形缓冲区快满了,我怎么能得到
- excel - 如何防止在宏套件中打开每个工作簿时屏幕闪烁灰色
- entity-framework - EF Core Include、Where 和 ThenInclude
- javascript - 如何从 URL 获取 JSON 并将其存储在变量中(Node.js)
- python-3.x - 使用带有滚动框架的 postscript 方法出现问题