【问题标题】:ColdFusion encrypt is returning same encryption for different valuesColdFusion encrypt 为不同的值返回相同的加密
【发布时间】:2014-09-12 03:05:41
【问题描述】:

我正在开发的 Web 应用程序中使用 ColdFusion 9。

我们遇到了一些加密问题。首先我们得到“输入和输出编码不一样”。错误,

我们正在使用 CFMX_COMPAT 算法。钥匙很长,不是很简单。

在测试一些加密值以查看它们是否有什么特别之处时,我尝试了以下 2 个数字:

  • 37144963539843
  • 37144963539842(唯一不同的是最后一位)

很惊讶,我得到了相同的加密值。

有什么想法吗?

【问题讨论】:

  • 你是如何检查加密结果的?把它们扔到屏幕上?您将加密值存储在哪里?
  • 我正在用 c# 调用该方法。为了测试,我直接通过浏览器点击该方法,它显示在页面上。加密值作为 varchar(200) 存储在 mssql 数据库中
  • 我刚刚运行了一个测试用例,一切正常。您需要检查加密值的最后一个字符,这应该是它们之间的唯一区别,其余相同。
  • 当我使用不同的键时,结果就像你提到的那样。但是,由于某种原因,使用当前密钥,我肯定会得到相同的值。我可能可以使用不同的密钥,但我不确定是什么原因造成的,所以我没有办法确保它不会与其他值一起发生。编辑:如果我在两个数字上加一个“1”,我会再次得到相同的值。
  • cfmx_compat 应该永远不要用于存储信用卡!它根本不是加密。它只不过是一个糟糕的混淆算法。 ColdFusion 支持真正的加密算法,例如 RSA、AES 等,因此没有理由使用cfmx_compat

标签: encryption coldfusion coldfusion-9


【解决方案1】:

我在浏览器中测试值,它删除了重要字符(例如空格)。

呃。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多