一、使用openssl生成MD5哈希:
echo -n "testdata" | openssl dgst -md5 -binary | openssl base64 -e -A
二、使用openssl生成sha1哈希:
echo -n "testdata" | openssl dgst -sha1 -binary | openssl base64 -e -A
三、使用openssl生成SHA256哈希:
echo -n "testdata" | openssl dgst -sha256 -binary | openssl base64 -e -A | sed 's/\+/-/g' | sed 's/\//_/g' | sed -E 's/=+$//'
如果直接执行命令:
echo -n "testdata" | openssl dgst -sha256 -binary | openssl base64 -e -A
得到的结果是:gQ/y+yQqXe5CIPLLDmpRmJH7Z/L4KKbKtO+IlGM7H1A=, 由于/ + 和=在URL中都有特殊的含义,所以,当把它作为URL中的一部分时,容易使得URL的解析出问题,
因此一般都会进行字符替换的操作,+替换成-,/替换成—_, =替换成空。使用sed,也就是:sed 's/\+/-/g' | sed 's/\//_/g' | sed -E 's/=+$//'
没有替换的我们称之为标准的Base64,替换的结果称之为Base64URL。
四、使用openssl生成HMAC:
echo -n "testdata" | openssl dgst -sha256 -hmac '111111' -binary | openssl base64 -e -A | sed 's/\+/-/g' | sed 's/\//_/g' | sed -E 's/=+$//'
五、openssl公约和私钥:
生成私钥:
openssl -out private.pem 2048
根据私钥生成公钥:
openssl rsa in private.pem -out public.pem -pubout -outform PEM
使用私钥签名:
文章来源:https://www.toymoban.com/news/detail-400142.html
echo -n "testdata" | openssl dgst -sha256 -sign private.pem | openssl base64 -e -A | sed 's/\+/-/g' | sed 's/\//_/g' | sed -E 's/=+$//'
文章来源地址https://www.toymoban.com/news/detail-400142.html
到了这里,关于常用的openssl命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!