首页 > 解决方案 > 我可以将发送给我的 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

我想要做的是在使用算法发送消息之前对其进行加密,然后在显示明文之前在收件人端解密消息。

我在网上查看过,似乎没有太多关于接收收到的消息并使用它们的信息。

标签: batch-filelan

解决方案


一个快速的解决方案。并且没有出去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似乎每次运行压缩时都附加的字符,它会更加健壮。然后在解压缩之前将它们附加到消息的开头。


推荐阅读