我必须使用 bash 脚本加密字符串,就像使用 javax.crypto.Cipher 加密一样。在 java 中,我使用带有密钥“0123456789”的 AES-256。但是当我使用openssl时,我不得不将“0123456789”转换为十六进制,但结果与java不同
echo "lun01" | openssl aes-256-cbc -e -a -K 7573746f726530313233343536373839 -iv 7573746f726530313233343536373839
Run Code Online (Sandbox Code Playgroud)
dpMyN7L5HI8VZEs1biQJ7g==
爪哇:
public class CryptUtil {
public static final String DEFAULT_KEY = "0123456789";
private static CryptUtil instance;
private String chiperKey;
private CryptUtil(String chiperKey) {
this.chiperKey = chiperKey;
}
public static CryptUtil getInstance() {
if (null == instance) {
instance = new CryptUtil(DEFAULT_KEY);
}
return instance;
}
public static CryptUtil getInstance(String cipherkey) {
instance = new CryptUtil(cipherkey);
return instance;
}
public String …Run Code Online (Sandbox Code Playgroud) 动机
我有一个第三方,不知何故长.bat文件为某些特定功能编写,并将需要相当大的努力重写(这个努力也受到我的问题的阻碍).在for循环中,调试它的最基本方法似乎是将一些信息回显到屏幕上.我曾经\r在其他语言中使用(0x0D)字符执行此操作,在某些终端/控制台上重写相同的行(以避免过度浮动,因为在我的情况下,最后一行将包含错误).我已经将值保存到变量中.但是,由于迭代可能需要很长时间,我仍然乐意将一些输出写入不会过冲的屏幕.
我试过的
cmd用echo.-但我只需要回车echo \r,echo ^r,echo \x0d,echo ^x0d,echo #0d,echo ^#0d,echo #x0d,echo ^x0d题
是否有可能以某种方式回显windows/dos/nt/cmd批处理文件中的回车符(或其他不可打印的)字符?
PS.我使用的是XP或7 cmd处理器
windows cmd batch-file carriage-return non-printing-characters
我想在Windows批处理文件中的循环内写相同的行.例如:
setlocal EnableDelayedExpansion
set file_number=0
for %%f in (*) do (
set /a file_number+=1
echo working on file number !file_number!
something.exe %%f
)
setlocal DisableDelayedExpansion
Run Code Online (Sandbox Code Playgroud)
这将导致:
echo在文件号1上工作
echo在文件号2上工作
echo工作在3号文件上
...
我希望他们所有人都在同一条线上.我找到了一个删除新行的黑客(例如:Windows批处理:没有换行的回声),但这会产生一个长行.
谢谢!
我的生活创造者程序有问题。它只是选择代表某些内容的随机数并将其放在一起。(我尝试过组合变量)这里是代码:
@set num=1
@SET /A a=%RANDOM% * 10 / 32768 + 1
@if %a% == 10 set life%num%= ----
@if %a% == 9 set life%num%=O
@if %a% == 8 set life%num%=^
@if %a% == 7 set life%num%=%
@if %a% == 6 set life%num%=#
@if %a% == 5 set life%num%=@
@if %a% == 4 set life%num%=)
@if %a% == 3 set life%num%=()
@if %a% == 2 set life%num%=~
@if %a% == 1 set life%num%=OO
@echo %a% >"gencode".txt
@set num=2
@SET /A …Run Code Online (Sandbox Code Playgroud) 我只是对Windows批处理中的插入符号逃逸的一个特定情况感到好奇:
请将以下代码保存为文件ttt.bat,并ttt.bat在命令提示符下运行,为什么我必须重复5次插入符号(或克拉?)字符^才能使这个"没有新的线路回声"技巧工作?我只想'|'在回显的字符串中放一个管道.
有一些关于Windows批处理转义的文档,但是出于案例研究的目的,你能解释一下这个例子中使用的每个插入字符的含义是什么吗?谢谢!
@echo off
SetLocal EnableDelayedExpansion
set foo=Hello world
set bar=Why why
echo|set /P=!foo! ^^^^^| !bar!
EndLocal
Run Code Online (Sandbox Code Playgroud) batch-file ×4
windows ×3
cmd ×2
caret ×1
character ×1
encryption ×1
escaping ×1
java ×1
javax.crypto ×1
line ×1
openssl ×1