coldfusion - 在 ColdFusion 中,如何将发布的密码与表中的 SHA256 加密密码相匹配?

标签 coldfusion sha256

我正在使用 ColdFusion 创建一个登录表单,但我无法找出检查表中使用 SHA256 加密的密码的语法。我对此进行了研究,但到目前为止只找到了复杂的答案,大部分与我的需要无关。

这是我的查询代码:

   <cfquery name="qVerify" datasource="MyDSN">
SELECT  *
   FROM cryptuser
   WHERE firstname = '#firstname#'
   AND   password = '#password#'
</cfquery>

所以通过表单输入和发布的密码需要与我表中加密的密码匹配,有人知道这是否可能吗?

非常感谢。

最佳答案

要使用 SHA-256 加密,您不使用 encrypt() 函数,而是使用 hash() 函数(SHA 是一种单向哈希):

<cfset EncryptedPassword = Hash(form.password, "SHA-256") />

我相信 CF 会返回一个全大写的哈希值,因此请确保您与数据库中加密的密码的大写字母进行比较:

AND UPPER(password) = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#EncryptedPassword#" />

还要注意编码!数据库中的数据可能使用与默认编码不同的编码(例如,iso-8859-1 而不是 utf-8)。

希望这对您有所帮助。

关于coldfusion - 在 ColdFusion 中,如何将发布的密码与表中的 SHA256 加密密码相匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9554608/

相关文章:

coldfusion - Apache POI XSSF header 未创建

javascript - Colorbox 仅在 IE8 中不加载变量 URL

java - 我想在 Windows 上的 ColdFusion 中使用 WMI 或 Java 来获取性能数据

javascript - 为什么我的 crypto.sublte.digest 实现会产生等长字符串的等价十六进制哈希值?

java - 通过 ColdFusion 访问 JNI DLL 中的功能

Coldfusion - 组件未定义

java - 如何让 Ruby 为 SHA256 生成的 HMAC 是安全的,可以匹配 Java?

c# - 使用两个参数对 "SHA256"进行哈希处理

php - 解码hash sha256加密,知盐

php - SHA1 与 md5 与 SHA256 : which to use for a PHP login?