Link to stack overflow page describing s3 curl
我是Shell脚本的新手,我需要了解以下行的含义:
@done
@succesfulladdbeforewhen
Scenario Outline: Admin adds an alternate numbers entry with a phonenumber successfully
Given the BW User is logged in with a <userlevel> Level Account
And the AddAlternateNumbersEntry query parameter contains an existing userid within the scope of the BW User
And the AddAlternateNumbersEntry post body contains an available phonenumber
When the BW User submits the AddAlternateNumbersEntry request
Then HTTP 201 should be returned
And a new alternate numbers entry should be added
Examples: User Levels
| userlevel |
| System |
| Service Provider |
| Group |
这是否意味着将signature=`/bin/echo -n "$stringToSign" | openssl sha1 -hmac ${s3Secret} -binary | base64`
的输出通过管道传输到/bin/echo -n "$stringToSign"
openssl sha1 -hmac ${s3Secret} -binary
是什么意思?
对/bin/echo -n
的简单解释是什么?
openssl sha1 -hmac
对通过管道“ $ stringToSign”进行的操作是什么?是加密吗?
答案 0 :(得分:2)
-n : do not output the trailing newline
1 sha1 refers to SHA-1 message disgest algorithm
2 -hmac is the message authentication code
3 openssl sha1 -h
,将发现以下行:
-hmac key create hashed MAC with key
它使用您提供的密钥创建一个哈希。这是一个简单的cmdline示例。
$ echo -n "SomeStuff" | openssl sha1 -hmac key
(stdin)= c127d9119057757c0de8a1e081c1327c489c0eaa
并带有二进制
$ echo -n "SomeStuff" | openssl sha1 -hmac key -binary
�����2|H��
您可以将二进制文件存储在.hmac
文件中。然后,您可以使用hmaccalc之类的软件来提供sha1hmac来为您的用例解密存储的二进制密钥。
有关更多信息。阅读随附链接中的手册。
答案 1 :(得分:1)
它通常用于基于SHA1算法(openssl命令部分)计算签名,并确保它仅包含ASCII字符(base64命令部分)。 @iamauser的答案对于底层解释是正确的。
例如:
~ export stringToSign='This a sample string that i do want to sign !!!'
~ signature=`/bin/echo -n "$stringToSign" | openssl sha1 -hmac ${s3Secret} -binary | base64`
~ echo $signature
ZTRhYWVhMTZkYzZlZDZjNjJhNjMzNzliYTAyNTFkYzUxYjI5YWYwYQo=