小编Nat*_*gio的帖子

OpenSSL 3.0 命令无法设置密码

从 OpenSSL 3.0 开始,以下命令(适用于 OpenSSL 1.1)

openssl bf-cbc -d -nopad -bufsize 2048 -K 000102030405060708090A0B0C0D0E0F -iv 0001020304050607 < enc
Run Code Online (Sandbox Code Playgroud)

现在失败了

设置密码 BF-CBC 40CCA0B4217F0000 时出错:错误:0308010C:数字信封例程:inner_evp_generic_fetch:不支持:crypto/evp/evp_fetch.c:349:全局默认库上下文,算法(BF-CBC:13),属性()

看看evp_fetch.c:349我想我有一个 NULL 方法

-help屏幕不提供任何与指定方法相关的内容

Usage: bf-cbc [options]

General options:
 -help               Display this summary
 -list               List ciphers
 -ciphers            Alias for -list
 -e                  Encrypt
 -d                  Decrypt
 -p                  Print the iv/key
 -P                  Print the iv/key and exit
 -engine val         Use engine, possibly a hardware device

Input options:
 -in infile          Input file
 -k val              Passphrase
 -kfile infile …
Run Code Online (Sandbox Code Playgroud)

openssl blowfish

7
推荐指数
1
解决办法
5467
查看次数

为什么 HTTP 状态行与请求行不同

HTTP 请求行和状态行都有 3 个组成部分:

Request-Line= Method       SP Request-URI SP HTTP-Version  CRLF
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
Run Code Online (Sandbox Code Playgroud)

状态行(服务器响应)很好:

  • 它以 HTTP 版本(像任何协议一样)开头,因此解码器可以根据第一个字段调整它的解析
  • 后面跟着一些协议定义的值(状态代码),它们是一个单词,不需要任何 SP/CR/LF 字符
  • 以任何文本字符(CR/LF 除外)作为原因短语结束。

我不明白的是为什么请求行如此不同:

  • HTTP 版本位于最后
  • Request-URI 必须进行转义以避免出现 SP/CR/LF 字符(这里是著名的 %20)

为什么它不遵循与状态行相同(干净)的模式?

Request-Line= HTTP-Version SP Method     SP Request-URI CRLF
Run Code Online (Sandbox Code Playgroud)

这样,Request-URI 可以是任何文本字符(CR/LF 除外)

所以它看起来像这样:

HTTP/1.1 GET /user/with space
...

HTTP/1.1 404 NOT FOUND
...
Run Code Online (Sandbox Code Playgroud)

看:

http http-1.1

5
推荐指数
1
解决办法
1022
查看次数

标签 统计

blowfish ×1

http ×1

http-1.1 ×1

openssl ×1