c# - RijndaelManaged 加密替换企业库

标签 c# encryption enterprise-library rijndaelmanaged

我有一个关于加密的问题:基本上在我的网络应用程序中我使用了 Enterprise Library 5.0 他们有一个密码 block ,所以基本上在他们提供的配置工具中我注册了一个 block 并生成了一个 key .这基本上在 Web 配置中添加了几行,以便稍后在 Web 应用程序中我可以执行以下操作:

Cryptographer.EncryptSymmetric("RijndaelManaged", text);
Cryptographer.DecryptSymmetric("RijndaelManaged", text);

这会自动正确地加密和解密,没有任何问题。

现在我遇到了以下问题,我们正在从 Enterprise Library 5.0 迁移到 Enterprise Library 6.0,在新版本中他们删除了 Cryptography block ,而是建议使用 .Net 加密。

因此,我决定使用 Rijndael .Net 类来用自定义代码替换这一行。我已经使用这个主题作为引用(Encrypt and decrypt a string)但是使用 RijndaelManaged 创建它,但我有点困惑, key 怎么样......因为一些数据已经加密如何获取和使用相同的 key 能够解密数据并使用它......?

我打开了5.0版本的配置管理器,看到了 key ,但是能不能用呢?

任何人都可以详细说明一下吗?

最佳答案

how to get and use the same key to be able to decrypt the data and use it ...?

加密密码的一个想法是它们独立于实现技术。您可以使用 .NET 加密数据并使用 Java 或其他软件解密。您需要做的可以概括为:

  • 拿到 key 。在对称密码中,相同的 key 用于加密和解密过程
  • 具有配置值(例如 IV 或初始化向量、密码 block 的长度、加密类型、使用的哈希函数、密码名称等)

有了这两个,您就可以使用任何技术进行加密/解密(首先需要一点点痛苦,主要花在搜索正确的 key 或配置上)

I opened the configuration manager of the version 5.0 to see the key but can i use it or not?

不熟悉配置管理器,但您必须从某处提取 key 。一定要以正确的格式获取它——你需要原始二进制格式。如果它保存在一个文件中,它可以使用 Windows DP API 进行加密,或者可以以 Base64 格式存储。

关于c# - RijndaelManaged 加密替换企业库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27441488/

相关文章:

c# - 在 EntLib 中登录/注销

c# - DbType 等同于 SqlDbType.Bit

c# - Azure WebJob不触发队列

ruby-on-rails - RoR 教程,第 7 章 - rspec 测试失败 : NoMethodError 'encrypt'

c# - WPF - 知道哪个控件最终会获得焦点

c++ - 可用于 C/C++ 的最强密码?

UIImage 上的 Iphone 加密 - AES 256 加密时出现 kCCBufferTooSmall 错误

c# - 在 C# 中使用可变数量的参数调用 GetStoredProcCommand?

c# - Windows 8.1 应用程序中的事件日志记录

c# - 如何在其他类中使用ScreenWidth?