gpt4 book ai didi

batch-file - 如何使用批处理加密文本文件?

转载 作者:行者123 更新时间:2023-12-04 01:14:59 24 4
gpt4 key购买 nike

如何使用批处理加密文本文件中的内容?我该如何解密?

我曾尝试将每个字母设置为一个数字,但我不知道如何将字符串拆分为每个字母并执行此操作。

我在 youtube 上观看了一个视频,该视频有助于将字母转换为数字,但它没有使用文件来实现。

这是他在视频中提供的代码。

@echo off
setlocal enableDelayedExpansion

set /p code=Text:
set chars=0123456789abcdefghijklmnopqrstuvwxyz

for /L %%N in (10 1 36) do (

for /F %%C in ("!chars:~%%N,1!") do (

set "code=!code:%%C=%%N!"

)

)

echo !code!
pause

请帮忙谢谢

最佳答案

@ECHO OFF
SET abet=abcdefghijklmnopqrstuvwxyz!@#-/\ .0123456789
SET cipher1=8p#j4 9z\6w.ae@0u2r5o!xk-cf1b3g7hmqil/sntdvy
(
FOR /f "delims=" %%a IN (q20794050.txt) DO (
SET line=%%a
CALL :encipher
)
)>q20794050.txt.1
(
FOR /f "delims=" %%a IN (q20794050.txt.1) DO (
SET line=%%a
CALL :decipher
)
)>q20794050.txt.2
GOTO :EOF
:decipher
SET morf=%abet%
SET from=%cipher1%
GOTO trans
:encipher
SET from=%abet%
SET morf=%cipher1%
:trans
SET "enil="
:transl
SET $1=%from%
SET $2=%morf%
:transc
IF /i "%line:~0,1%"=="%$1:~0,1%" SET enil=%enil%%$2:~0,1%&GOTO transnc
SET $1=%$1:~1%
SET $2=%$2:~1%
IF DEFINED $2 GOTO transc
:: No translation - keep
SET enil=%enil%%line:~0,1%
:transnc
SET line=%line:~1%
IF DEFINED line GOTO transl
ECHO %enil%
GOTO :eof

这是一种使用简单的 Cæsar(替换)代码来实现的方法。
abet 可以(可能从文件中)设置为要编码的字符集。类似地, cipher1 可以设置为转换集 - 只需确保 abet 中的每个字符也出现在 cipher1 中。

任何出现在输入文本中但不在 abet 中的字符都不会被翻译。

我使用了 q20794050.txt :
The quick brown fox [jumps] {over} the lazy dog 9876543210.
9876543210 The quick brown fox !@#-/\ jumps over the lazy dog.f

被编码为 q20794050.txt.1 :
5z4huo\#whp2@xeh @kh[6oa0r]h{@!42}h5z4h.8c-hj@9hyvdtns/liqm
yvdtns/liqh5z4huo\#whp2@xeh @khf1b3g7h6oa0rh@!42h5z4h.8c-hj@9m

(请注意,最后一行的末尾有一个空格...)

并成功解密为 q20794050.txt.2
注意:以上不会处理某些问题字符,如 %&|><

我只使用了小写字母,所以任何大写字母都会被过程转换成小写字母。如果您从 /i 语句中删除 IF,则将保留大小写,但您必须将大写字母添加到 abetcipher1 中,否则加密文件将逐字包含大写字符。

注意
(for...do (...))>somefilename

将创建一个新文件 somefilename 包含任何数据 ECHO ed - 即使 ECHO 出现在子程序中。

关于batch-file - 如何使用批处理加密文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20794050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com