那会是什么;openssl enc-a-e-salt-des3-pass:abc123“;在.NET中是否等效?

那会是什么;openssl enc-a-e-salt-des3-pass:abc123“;在.NET中是否等效?,.net,openssl,3des,pkcs#5,.net,Openssl,3des,Pkcs#5,我的.Net应用程序需要与基于Linux的系统通信,该系统正在使用以下命令行加密其消息: openssl enc -a -e -salt -des3 -pass pass:abc123 在c#中加密/解密消息的等效代码是什么样子的 我明白我应该在中使用。我不知道我应该用什么 此外,我还不知道如何从密码中派生密钥。我应该用还是应该用什么盐 所以,对我来说,这似乎是一项相当标准的工作,但却以通宵的困惑告终。有人能帮我吗?这里有个窍门: > openssl enc -a -e -salt -d

我的.Net应用程序需要与基于Linux的系统通信,该系统正在使用以下命令行加密其消息:

openssl enc -a -e -salt -des3 -pass pass:abc123
在c#中加密/解密消息的等效代码是什么样子的

我明白我应该在中使用。我不知道我应该用什么

此外,我还不知道如何从密码中派生密钥。我应该用还是应该用什么盐

所以,对我来说,这似乎是一项相当标准的工作,但却以通宵的困惑告终。有人能帮我吗?

这里有个窍门:

> openssl enc -a -e -salt -des3 -P -pass pass:abc123
salt=17685C0658F85BA4
key=1CB6E5A0AA4953EC2323CBA021EF008C9193F5F29990DE87
iv =9148EB5B2BF2E9B2
如果我输入算法,输出几乎与openssl输出相同。唯一的区别是在openssl输出的开头额外增加了16个字节。这些字节中的前八个是“salt_u_;”文本,后八个是salt

盐是随机的。那么,我应该如何从密码和salt派生key和iv呢?也不符合条件

下面是第二个技巧:

A = MD5(pwd + SALT)
B = MD5(A + PWD + SALT)
KEY + IV = A + B
加号表示串联,键长24字节,IV长8字节

我从他用AES做类似事情的地方学到了这些技巧