在.NET 中复制 openssl 加密?

发布于 2024-10-26 13:59:04 字数 852 浏览 1 评论 0原文

我想知道是否有人可以建议一种在 .NET 中复制以下 openssl 命令行的好方法?我不是在找人写代码,只是建议最好的使用方法。我有 RijndaelManaged 正在执行 AES 256 CBC 模式,并且可以对其进行 Base64 编码等。但是,我不清楚 openssl 如何使用“盐”生成\ - 盐是结果 Base64 编码输出的一部分吗?

$ echo 1234 | openssl enc -aes-256-cbc -a -salt -pass pass:<passphrase>

有没有关于 openssl 命令行的合适文档的指针? (我在 http://openssl.org/docs 上没有看到 salt 或 aes-256-cbc /apps/openssl.html

编辑:

好的,在 找到 openssl enc 的文档http://openssl.org/docs/apps/enc.html# - 只是想理解它。 :)

EDIT2:

我认为这更接近我需要的( http://deusty.blogspot.com/2009/04/decrypting-openssl-aes-files-in-c.html

I'm wondering if anyone can suggest a good way to replicate the following openssl command line in .NET? I'm not looking for someone to write the code, just suggest the best method to use. I have RijndaelManaged working doing AES 256 CBC mode and can base64 encode it, etc. But, I'm unclear on how openssl is generating\using "salt" - is the salt a part of the result base64 encoded output?

$ echo 1234 | openssl enc -aes-256-cbc -a -salt -pass pass:<passphrase>

Any pointers to decent documentation on openssl commandline? (I don't see salt or aes-256-cbc on http://openssl.org/docs/apps/openssl.html )

EDIT:

OK, found the documentation for openssl enc at http://openssl.org/docs/apps/enc.html# - just trying to grok it. :)

EDIT2:

I think this is closer to what I am needing ( http://deusty.blogspot.com/2009/04/decrypting-openssl-aes-files-in-c.html )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

北座城市 2024-11-02 13:59:04

OpenSSL 基本上是一些带有可执行文件的 dll。 sourceforge 上有一个旧项目 OpenSSL.Net 可以用 C# 绑定它们,也许你可以从那里开始。

OpenSSL is basically some dlls with and executable over them. There is an old project OpenSSL.Net on sourceforge to bind them in C# maybe you could start there.

小耗子 2024-11-02 13:59:04

openssl des3解密在java的答案应该可以帮助你。

The answers to openssl des3 decrypting in java should get you going.

北渚 2024-11-02 13:59:04

您还可以使用 OpenSSL Library for .NET 来实现此目的

DidiSoft.OpenSsl.OpenSslCipher cipher = new DidiSoft.OpenSsl.OpenSslCipher();
bool isBase64 = true;
string encrypted = cipher.EncryptString(CipherAlgorithm.Aes_256_Cfb, "1234", 
                                        "<passphrase>", isBase64);

免责声明:我工作对于滴滴软件

You can also achieve this with OpenSSL Library for .NET

DidiSoft.OpenSsl.OpenSslCipher cipher = new DidiSoft.OpenSsl.OpenSslCipher();
bool isBase64 = true;
string encrypted = cipher.EncryptString(CipherAlgorithm.Aes_256_Cfb, "1234", 
                                        "<passphrase>", isBase64);

Disclaimer: I work for DidiSoft

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文