【问题标题】:decrypt encrypted string from coldfusion using c#使用c#从coldfusion解密加密字符串
【发布时间】:2012-05-30 14:37:31
【问题描述】:

我在 ColdFusion 中使用 encrypt(string,key)decrypt(string,key) 进行加密。现在我想做的是在 ColdFusion 中加密,但在 asp.net C# 中 decrypt。有人可以告诉我如何做到这一点吗?

如果这是我的 ColdFusion 代码:

encrypt("hello","abcdefgh")
decrypt(".....","abcdefgh"

asp.net 中的等效代码是什么样的?谢谢。

【问题讨论】:

标签: c# asp.net coldfusion coldfusion-8


【解决方案1】:

根据Coldfusion的documentation

ColdFusion 标准版安装了一个具有以下算法的密码库:

CFMX_COMPAT:ColdFusion MX 和之前版本中使用的算法。此算法是最不安全的选项(默认)。

除非您在 C# 中实现 CF 解密算法,否则您无法解密它。您必须指定不同的加密算法,例如 3DES,才能对其进行解密。

【讨论】:

  • +1。如果可能,请使用更标准的算法。更高的安全性和更好的互操作性。
【解决方案2】:

正如 Josh 指出的,如果您不指定算法,CF 将使用默认算法 cfmx_compat。与 AES、Blowfish 等标准算法不同,.NET 中没有它的库。要解密 C# 中的值,.NET 端需要使用自定义类。 (请参阅此处查看我的C# port of Railo's cfmx_compat class。)

也就是说,我建议不要使用cfmx_compat,因为它是一个非常弱的算法。它仅包含在 CF 中是为了向后兼容。您最好在 ColdFusion 中使用更强大的算法之一,如 AES、Blowfish 等。由于这些算法是标准的,因此与 C#(或任何其他语言)的互操作性会容易得多。有关示例,请参阅上面 cmets 中发布的链接 Al。

【讨论】:

    猜你喜欢
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    • 2010-09-18
    相关资源
    最近更新 更多