Batch file 如何使用批处理加密文本文件?
如何使用批处理加密文本文件中的内容?我怎样才能解密它呢 我已经尝试将每个字母设置为一个数字,但我不知道如何将字符串拆分为每个字母并执行此操作 我在youtube上观看了一段帮助将字母转换成数字的视频,但它没有使用文件 这是他在视频中提供的代码Batch file 如何使用批处理加密文本文件?,batch-file,encryption,Batch File,Encryption,如何使用批处理加密文本文件中的内容?我怎样才能解密它呢 我已经尝试将每个字母设置为一个数字,但我不知道如何将字符串拆分为每个字母并执行此操作 我在youtube上观看了一段帮助将字母转换成数字的视频,但它没有使用文件 这是他在视频中提供的代码 @echo off setlocal enableDelayedExpansion set /p code=Text: set chars=0123456789abcdefghijklmnopqrstuvwxyz for /L %%N in (10 1
@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
设置abet=abcdefghijklmnopqrstuvxyz!@#-/\。0123456789
设置密码1=8p#j4 9z\6w。ae@0u2r5o!xk-cf1b3g7hmqil/sntdvy
(
对于/f“delims=”%(q20794050.txt)中的%%a,请执行以下操作(
设置行=%%a
呼叫:加密
)
)>q20794050.txt.1
(
对于(q20794050.txt.1)中的/f“delims=”%%a(
设置行=%%a
呼叫:解密
)
)>q20794050.txt.2
后藤:EOF
:破译
设置morf=%abet%
设置自=%cipher1%
转乘
:加密
设置自=%abet%
设置morf=%cipher1%
:trans
设置“enil=”
:翻译
设置$1=%from%
设置$2=%morf%
:transc
如果/i“%line:~0,1%”==“%$1:~0,1%”设置enil=%enil%%$2:~0,1%&转到transnc
设置$1=%$1:~1%
设置$2=%$2:~1%
如果定义为$2转到transc
::无翻译-保留
设置enil=%enil%%行:~0,1%
:transnc
设置行=%line:~1%
如果定义行GOTO transl
回音%enil%
后藤: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
注意:以上内容不会处理某些问题字符,如%&|>
@回音
setlocal enableDelayedExpansion
对于/f“tokens=*delims=“%%h in('type%1')do(
设置文本=%%h
)
设置字符=0123456789ABCDEFGHIJKLMNOPQRSTUVXYZ
对于/L%%N in(10 1 36)do(
对于“!字符:~%N,1!”中的/F%%C,请执行以下操作(
设置“text=!text:%%C=-%%N!”
)
)
回声!文本!>%userprofile%\Desktop\encrypted.txt
暂停
(使用不同的.bat文件)
@回音
setlocal enableDelayedExpansion
对于/f“tokens=*delims=“%%h in('type%1')do(
设置文本=%%h
)
设置字符=0123456789ABCDEFGHIJKLMNOPQRSTUVXYZ
对于/L%%N in(10 1 36)do(
对于“!字符:~%N,1!”中的/F%%C,请执行以下操作(
设置“text=!text:%%N=%%C!”
)
)
对于(“!text!”)中的/f%%K,请执行以下操作(
设置“文本=!文本:-=!”
)
回声!文本!>%userprofile%\Desktop\decrypted.txt
暂停
(for...do (...))>somefilename
@echo off
setlocal enableDelayedExpansion
for /f "tokens=* delims= " %%h in ('type %1') do (
set text=%%h
)
set chars=0123456789abcdefghijklmnopqrstuvwxyz
for /L %%N in (10 1 36) do (
for /F %%C in ("!chars:~%%N,1!") do (
set "text=!text:%%C=-%%N!"
)
)
echo !text! > %userprofile%\Desktop\encrypted.txt
pause
(using a different .bat file)
@echo off
setlocal enableDelayedExpansion
for /f "tokens=* delims= " %%h in ('type %1') do (
set text=%%h
)
set chars=0123456789abcdefghijklmnopqrstuvwxyz
for /L %%N in (10 1 36) do (
for /F %%C in ("!chars:~%%N,1!") do (
set "text=!text:%%N=%%C!"
)
)
for /f %%K in ("!text!") do (
set "text=!text:-=!"
)
echo !text! > %userprofile%\Desktop\decrypted.txt
pause