在 shell (sha512) 中散列密码打破了这一行。
如何在一行中得到结果?
哈希脚本:
password="abc123"
hashPassw="$(/bin/echo -n "${password}" | openssl dgst -binary -sha512 | openssl enc -base64)"
echo "${hashPassw}"
输出是(为什么要断线?):
xwtd2ev7b1HQnUEytxcMnSB1CnhS8AaA9lZY8DEOgQBW5nY8NMmgCw6UAHb1RJXB
afwjAszrMSA5JxxDRpUH3A==
应该是一行:
xwtd2ev7b1HQnUEytxcMnSB1CnhS8AaA9lZY8DEOgQBW5nY8NMmgCw6UAHb1RJXBafwjAszrMSA5JxxDRpUH3A==
最佳答案
来自 OpenSSL Wiki为 enc
.
To suppress this you can use in addition to -base64 the -A flag. This will produce a file with no line breaks at all.
所以添加额外的
-A
flag 可以解决问题。password="abc123"
hashPassw="$(/bin/echo -n "${password}" | openssl dgst -binary -sha512 | openssl enc -A -base64)"
echo "${hashPassw}"
哪些输出
xwtd2ev7b1HQnUEytxcMnSB1CnhS8AaA9lZY8DEOgQBW5nY8NMmgCw6UAHb1RJXBafwjAszrMSA5JxxDRpUH3A==
关于shell - 如何从输出中删除换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35799684/