检测 vbs/batch 中的密钥并加密它们
Detect keys in vbs/batch and encrypt them
目标:实时加密
代码:Vbs 和批处理(windows 可以 运行 无需外部程序的任何东西)。
含义:检测键并更改它们。
示例:您键入:'Hello world',然后 vbs 将其替换为“-8208-6840-10032-10032-11400 -15048-11400-12768-10032-6384”(例如)。
问题:我不想使用Code = InputBox ("Code:")
,或者以任何方式出现在程序中。这个想法是后台的vbs文件运行s。
我想了想,想到了这个。当然远非完美,但它有点管用。它通过对 alfabet 中的所有字母使用选择进行加密,并在您按 1 时停止。
优点:
- 纯批处理,可以运行在任何windows电脑上
- 您可以指定自己的盐字符串
- 不显示刚刚输入的字符,在 public
中可以安全使用
- 您可以让用户使用
set /P
以及两个 11 设置他自己的盐字符串,但您必须确保用户输入有效
缺点:
- 只接受字母,不接受spaces/numbers/special个符号
- 需要盐串解密
这是它背后的代码:
@echo off
set saltString="ijklmaopqwxybcrstufghvdenz"
set "encryptionString="
:choiceLoop
cls
echo press 1 to stop
choice /C %saltString%1 /N /M %encryptionString%-
set keyCode=%errorlevel%
if %keyCode% GEQ 27 GOTO breakLoop
::encryption logic here
set /A keyCode=%keyCode%+11*11
echo %keyCode%
set encryptionString=%encryptionString%-%keyCode%
goto choiceLoop
:breakLoop
set encryptionString=%encryptionString%-
echo encrypted string: %encryptionString%
pause
请注意,salt 字符串必须正好包含 26 个字母。您可以通过更改 set /A command
.
中的两个 11 来更改加密逻辑
这首先创建了一个变量、encryptionString 和 saltString。它使用带有 saltstring+1 作为 /C 参数的选择命令,这是可供选择的字符。它使用 /M(消息)来显示您到目前为止输入的内容。
关于如何使用 choice 命令需要注意的一点是它将错误级别设置为您刚刚在 /C 参数中键入的字符的位置。这确保您可以为不同的字符分配不同的数字,在这种情况下 i=1, j=2, k=3, l=4, m=5, a=6...(注意 backspace 和 space,例如 .,是选择命令的无效字符)
它将errorlevel(保存在keyCode中)的值乘以11,然后加上11。之后它只是将keyCode的值添加到encryptionString。如果选择命令 returns 27 as errorlevel (1 is pressed), 循环被打破并且尾随 - 被添加到 encryptionString.
目标:实时加密
代码:Vbs 和批处理(windows 可以 运行 无需外部程序的任何东西)。
含义:检测键并更改它们。
示例:您键入:'Hello world',然后 vbs 将其替换为“-8208-6840-10032-10032-11400 -15048-11400-12768-10032-6384”(例如)。
问题:我不想使用Code = InputBox ("Code:")
,或者以任何方式出现在程序中。这个想法是后台的vbs文件运行s。
我想了想,想到了这个。当然远非完美,但它有点管用。它通过对 alfabet 中的所有字母使用选择进行加密,并在您按 1 时停止。
优点:
- 纯批处理,可以运行在任何windows电脑上
- 您可以指定自己的盐字符串
- 不显示刚刚输入的字符,在 public 中可以安全使用
- 您可以让用户使用
set /P
以及两个 11 设置他自己的盐字符串,但您必须确保用户输入有效
缺点:
- 只接受字母,不接受spaces/numbers/special个符号
- 需要盐串解密
这是它背后的代码:
@echo off
set saltString="ijklmaopqwxybcrstufghvdenz"
set "encryptionString="
:choiceLoop
cls
echo press 1 to stop
choice /C %saltString%1 /N /M %encryptionString%-
set keyCode=%errorlevel%
if %keyCode% GEQ 27 GOTO breakLoop
::encryption logic here
set /A keyCode=%keyCode%+11*11
echo %keyCode%
set encryptionString=%encryptionString%-%keyCode%
goto choiceLoop
:breakLoop
set encryptionString=%encryptionString%-
echo encrypted string: %encryptionString%
pause
请注意,salt 字符串必须正好包含 26 个字母。您可以通过更改 set /A command
.
这首先创建了一个变量、encryptionString 和 saltString。它使用带有 saltstring+1 作为 /C 参数的选择命令,这是可供选择的字符。它使用 /M(消息)来显示您到目前为止输入的内容。
关于如何使用 choice 命令需要注意的一点是它将错误级别设置为您刚刚在 /C 参数中键入的字符的位置。这确保您可以为不同的字符分配不同的数字,在这种情况下 i=1, j=2, k=3, l=4, m=5, a=6...(注意 backspace 和 space,例如 .,是选择命令的无效字符)
它将errorlevel(保存在keyCode中)的值乘以11,然后加上11。之后它只是将keyCode的值添加到encryptionString。如果选择命令 returns 27 as errorlevel (1 is pressed), 循环被打破并且尾随 - 被添加到 encryptionString.