#!/bin/bash
code="mykey!"
file="a.txt"
jmfile=${file%.txt}-jm.txt
echo "encypt $file to $jmfile\n"
openssl sm4 -e -in $file -out $jmfile -iter 5 -rand /dev/urandom <<END
$code
$code
END
想自动输入口令,可是不行,还是提示要手动输入口令
#!/bin/bash
code="mykey!"
file="a.txt"
jmfile=${file%.txt}-jm.txt
echo "encypt $file to $jmfile\n"
openssl sm4 -e -in $file -out $jmfile -iter 5 -rand /dev/urandom <<END
$code
$code
END
想自动输入口令,可是不行,还是提示要手动输入口令
用文件:
-pass file:文件
或者用 echo:
echo "someGoodPassword" | openssl sm4 -e -in $file -out $jmfile -iter 5 -rand /dev/urandom
你要搞清楚之所以弹出 prompt 是为了往 stdin 里灌东西,那你用 openssl 本身或 bash pipeline 机制都可以。
直接写脚本里是往 stdout/stderr 里灌东西
#!/bin/bash
code="mykey!"
file="1.txt"
jmfile=${file%.txt}-jm.txt
echo "encypt $file to $jmfile\n"
openssl sm4 -e -in $file -out $jmfile -iter 5 -rand /dev/urandom -pass stdin <<END
$code
$code
END
openssl sm4 -help 查到有 -pass 选项,成功了!
本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。